MjAwNC0wNC0xOCAgUmVsZWFzZSBNYW5hZ2VyCgoJKiBHQ0MgMy4xIHJlbGVhc2VkLgoKMjAwMi0wNy0yNSAgUmVsZWFzZSBNYW5hZ2VyCgoJKiBHQ0MgMy4xLjEgUmVsZWFzZWQuCgoyMDAyLTA3LTIwICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJQnVsayBkb2N1bWVudGF0aW9uIG1lcmdlIChjb3B5KSBmcm9tIHRydW5rLgoJKiBkb2NzL2RveHlnZW4vVE9ETywgZG9jcy9kb3h5Z2VuL3J1bl9kb3h5Z2VuLCBkb2NzL2RveHlnZW4vdGFibGVzLmh0bWwsCglkb2NzL2RveHlnZW4vdXNlci5jZmcuaW4sIGRvY3MvaHRtbC9NYWtlZmlsZSwKCWRvY3MvaHRtbC9kb2N1bWVudGF0aW9uLmh0bWwsIGRvY3MvaHRtbC8xN19pbnRyby9wb3J0aW5nLmh0bWwsCglkb2NzL2h0bWwvMTdfaW50cm8vcG9ydGluZy50ZXhpLCBkb2NzL2h0bWwvMjNfY29udGFpbmVycy9ob3d0by5odG1sLAoJZG9jcy9odG1sL2V4dC9ob3d0by5odG1sLCBkb2NzL2h0bWwvZXh0L2x3Zy1hY3RpdmUuaHRtbCwKCWRvY3MvaHRtbC9leHQvbHdnLWRlZmVjdHMuaHRtbCwgZG9jcy9odG1sL2ZhcS9pbmRleC5odG1sLAoJZG9jcy9odG1sL2ZhcS9pbmRleC50eHQ6ICBNZXJnZSBmcm9tIHRydW5rLgoKMjAwMi0wNy0xNiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIGxpYnN1cGMrKy9uZXcgKHNldF9uZXdfaGFuZGxlcik6IERlY2xhcmUgdG8gbm90IHRocm93IGFueQoJZXhjZXB0aW9ucy4KCSogbGlic3VwYysrL25ld19oYW5kbGVyLmNjIChzZXRfbmV3X2hhbmRsZXIpOiBMaWtld2lzZS4KCjIwMDItMDctMTUgIFJhaW5lciBPcnRoICA8cm9AVGVjaEZhay5VbmktQmllbGVmZWxkLkRFPgoKCSogY29uZmlnL29zL3NvbGFyaXMvc29sYXJpczIuNS9iaXRzL2N0eXBlX2Jhc2UuaCAoY3R5cGVfYmFzZSk6IEZpeAoJcHJpbnQgdG8gbWF0Y2ggdmVuZG9yIDxjdHlwZS5oPi4KCjIwMDItMDctMDMgIFN0ZWV2IFdpbGNveCAgPHN0ZWV2QHBhcmFkaWdtZHMuY29tPgoJIAoJUFIgbGlic3RkYysrLzcwNTcKCSogaW5jbHVkZS9leHQvc3RsX2hhc2h0YWJsZS5oOiBGaXguCgkqIHRlc3RzdWl0ZS9leHQvaGFzaF9tYXAuY2M6IE5ldy4KCjIwMDItMDctMDMgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCiAgICAgICAgUFIgbGlic3RkYysrLzcwOTcKICAgICAgICAqIGluY2x1ZGUvYy9zdGRfY3djaGFyLmg6IEZpeC4KCjIwMDItMDctMDMgIEphY2sgUmVldmVzICA8amFja3dfcmVldmVzQGhvdG1haWwuY29tPgogICAgICAgICAgICBLZW5ueSBTaW1wc29uICA8dGhlb25ldHJ1ZWtlbm55QHlhaG9vLmNvbT4KICAgICAgICAgICAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCVBSIGxpYnN0ZGMrKy8zOTQ2CgkqIHRlc3RzdWl0ZS8yMF91dGlsL2F1dG9fcHRyLmNjICh0ZXN0MDgpOiAgTmV3IHRlc3QuCgkqIGluY2x1ZGUvc3RkL3N0ZF9tZW1vcnkuaCAoYXV0b19yZWZfcHRyKTogIE1ha2UgY29uc3RydWN0b3IgZXhwbGljaXQuCgkoYXV0b19wdHI6Om9wZXJhdG9yIGF1dG9fcHRyX3JlZik6ICBGaXggdHlwby4KCUdlbmVyYWwgcmVmb3JtYXR0aW5nIGFuZCBkb3h5Z2VuYXRpbmcgb2YgdGhlIHdob2xlIGZpbGUuCgoyMDAyLTA3LTAzICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJUFIgbGlic3RkYysrLzcxNzMKCSogYWNpbmNsdWRlLm00OiAgU2ltcGxpZnkgZGV0ZXJtaW5hdGlvbiBvZiBnY2NfdmVyc2lvbiwgYW5kIG1vdmUKCXVwIHRvIEdMSUJDUFBfQ09ORklHVVJFLgoJKiBjb25maWd1cmUuaW4gKHJlbGVhc2VfVkVSU0lPTik6ICBSZWFsbHkgcmVtb3ZlLgoJKEFNX0lOSVRfQVVUT01BS0UsIEFNX0NPTkZJR19IRUFERVIpOiAgTW92ZSBhZnRlciBHTElCQ1BQX0NPTkZJR1VSRS4KCSogYWNsb2NhbC5tNCwgY29uZmlndXJlOiAgUmVnZW5lcmF0ZS4KCjIwMDItMDctMDIgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGRvY3MvaHRtbC9jb25maWdvcHRzLmh0bWwsIGRvY3MvaHRtbC9pbnN0YWxsLmh0bWw6ICBUd2Vha3MuCgkqIGluY2x1ZGUvZXh0L2FsZ29yaXRobSwgaW5jbHVkZS9leHQvaGFzaF9tYXAsIGluY2x1ZGUvZXh0L2hhc2hfc2V0LAoJaW5jbHVkZS9leHQvaXRlcmF0b3IsIGluY2x1ZGUvZXh0L251bWVyaWMsIGluY2x1ZGUvZXh0L3JiX3RyZWUsCglpbmNsdWRlL2V4dC9zbGlzdCwgaW5jbHVkZS9leHQvc3RsX3JvcGUuaDogIEFkZCBkb3h5Z2VuIGhvb2tzLgoKMjAwMi0wNi0yOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9jX2NvbXBhdGliaWxpdHk6IE5ldy4KCSogaW5jbHVkZS9jX2NvbXBhdGliaWxpdHkvYXNzZXJ0Lmg6IE5ldy4KCSogaW5jbHVkZS9jX2NvbXBhdGliaWxpdHkvY3R5cGUuaDogTmV3LgoJKiBpbmNsdWRlL2NfY29tcGF0aWJpbGl0eS9lcnJuby5oOiBOZXcuCgkqIGluY2x1ZGUvY19jb21wYXRpYmlsaXR5L2Zsb2F0Lmg6IE5ldy4KCSogaW5jbHVkZS9jX2NvbXBhdGliaWxpdHkvaXNvNjQ2Lmg6IE5ldy4KCSogaW5jbHVkZS9jX2NvbXBhdGliaWxpdHkvbGltaXRzLmg6IE5ldy4KCSogaW5jbHVkZS9jX2NvbXBhdGliaWxpdHkvbG9jYWxlLmg6IE5ldy4KCSogaW5jbHVkZS9jX2NvbXBhdGliaWxpdHkvbWF0aC5oOiBOZXcuCgkqIGluY2x1ZGUvY19jb21wYXRpYmlsaXR5L3NldGptcC5oOiBOZXcuCgkqIGluY2x1ZGUvY19jb21wYXRpYmlsaXR5L3NpZ25hbC5oOiBOZXcuCgkqIGluY2x1ZGUvY19jb21wYXRpYmlsaXR5L3N0ZGFyZy5oOiBOZXcuCgkqIGluY2x1ZGUvY19jb21wYXRpYmlsaXR5L3N0ZGRlZi5oOiBOZXcuCgkqIGluY2x1ZGUvY19jb21wYXRpYmlsaXR5L3N0ZGlvLmg6IE5ldy4KCSogaW5jbHVkZS9jX2NvbXBhdGliaWxpdHkvc3RkbGliLmg6IE5ldy4KCSogaW5jbHVkZS9jX2NvbXBhdGliaWxpdHkvc3RyaW5nLmg6IE5ldy4KCSogaW5jbHVkZS9jX2NvbXBhdGliaWxpdHkvdGltZS5oOiBOZXcuCgkqIGluY2x1ZGUvY19jb21wYXRpYmlsaXR5L3djaGFyLmg6IE5ldy4KCSogaW5jbHVkZS9jX2NvbXBhdGliaWxpdHkvd2N0eXBlLmg6IE5ldy4KCgkqIGluY2x1ZGUvYy9zdGRfY2Vycm5vLmg6IEdldCBvdXQgb2YgdGhlIHdheS4uLiBkZWZpbmUgZXJybm8uCgkqIGluY2x1ZGUvYy9zdGRfY21hdGguaDogQWRkIGFicywgbW9kZiBvdmVybG9hZHMuCglVbmRlZmluZSBDOTkgaXNtcy4gU3RpbGwgbm90IHN1cmUgaG93IHRvIGRlYWwgd2l0aCB0aGlzIHNhbmVseS4KCSogaW5jbHVkZS9jL3N0ZF9jc2V0am1wLmg6IFR3ZWFrLgoJKiBpbmNsdWRlL2Mvc3RkX2N3Y2hhci5oOiBJbmNsdWRlIGNzdGRkZWYgZm9yIHNpemVfdC4KCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NtYXRoLmg6IFJlbW92ZSBleHRyYSBmdW5jdGlvbi4KCQoJUGVuZGFudGljIHN0ZCB1c2FnZSBpbiB0ZXN0c3VpdGVzLgkKCSogdGVzdHN1aXRlLzE3X2ludHJvL2hlYWRlcl9jc3RkbGliLmNjICh0ZXN0MDEpOiBRdWFsaWZ5IGxkaXZfdAoJd2l0aCBzdGQuCgkqIHRlc3RzdWl0ZS8xN19pbnRyby9oZWFkZXJfY3djaGFyLmNjOiBUd2Vhay4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0X21lbWJlcnNfY2hhcl9jaGFyLmNjICh0ZXN0MDMpOiBVc2UKCXN0ZDo6c2V0bG9jYWxlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlX3RvX3djaGFyX3QuY2MgKHRlc3QwNSk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfdG9fY2hhci5jYyAodGVzdDA1KTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV9pc193Y2hhcl90LmNjICh0ZXN0MDUpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlX2lzX2NoYXIuY2MgKHRlc3QwNSk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dF9tZW1iZXJzX3djaGFyX3RfY2hhci5jYyAodGVzdDAzKTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwOCk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXRfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDgpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDA0KTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwNCk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwNCk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwNCk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtcHVuY3RfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDMpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0X21lbWJlcnNfY2hhci5jYyAodGVzdDAzKTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0X21lbWJlcnNfd2NoYXJfdC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0X21lbWJlcnNfY2hhci5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXRfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDcpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X3B1dF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwNyk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlwdW5jdF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwMyk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlwdW5jdF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwMyk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDA4KTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXRfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDgpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzX21lbWJlcnNfY2hhci5jYyAodGVzdDAzKTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlX21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDA0KTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlX21lbWJlcnNfY2hhci5jYyAodGVzdDA0KTogU2FtZS4KCSogdGVzdHN1aXRlLzI2X251bWVyaWNzL2ZhYnNfaW5saW5lLmNjOiBVc2Ugc3RkOjpwcmludGYuCgkqIHRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX3NlZWtzLmNjICh0ZXN0MDIpOiBRdWFsaWZ5IGFib3J0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vaXN0cmVhbV9leHRyYWN0b3JfYXJpdGguY2MgKHRlc3QxMSk6IFF1YWxpZnkgc3RydG9sLgoKMjAwMi0wNi0yOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogbGlic3VwYysrL01ha2VmaWxlLmFtIChsaWJzdXBjX19jb252ZW5pZW5jZV9sYV9TT1VSQ0VTKTogQWRkCgljX3NvdXJjZXMuCgoyMDAyLTA2LTI4ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBzcmMvZXh0LWluc3QuY2MgKF9fZ251X2N4eCk6IFVzZSBpbnN0ZWFkIG9mIHN0ZDo6IGZvciBleHRlbnNpb25zLgoJVXNlIHNpemVfdHlwZSBpbnN0ZWFkIG9mIHVuc2lnbmVkIGxvbmcuCgoyMDAyLTA2LTI4ICBTdGV2ZSBFbGxjZXkgIDxzamVAY3VwLmhwLmNvbT4KCgkqIHNyYy9leHQtaW5zdC5jYyAoX1NfZmV0Y2gpOiBBZGQgZXhwbGljaXQgdGVtcGxhdGVzIGZvciBjaGFyIGFuZAoJd2NoYXIgdHlwZXMuCgkoX1NfbWluX2xlbik6IERpdHRvLgoKMjAwMi0wNi0yOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9NYWtlZmlsZS5hbTogQWRkIHJ1bGVzLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKCSogYWNpbmNsdWRlLm00OiBEZWZpbmUgR0xJQkNQUF9DX0hFQURFUlNfQ09NUEFUSUJJTElUWS4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmUudGFyZ2V0IChjX21vZGVsLCBjX2NvbXBhdGliaWxpdHkpOiBBZGQuCgkKCSogbGlic3VwYysrL01ha2VmaWxlLmFtIChjX3NvdXJjZXMpOiBOZXcuCgkobGlic3VwY19fX2xhX1NPVVJDRVMpOiBBZGQgY19zb3VyY2VzLgoJKExUQ09NUElMRSk6IFJlbW92ZSBJTkNMVURFUy4KCShHQ0NfSU5DTFVERVMpOiBOZXcuCgkoQ19DT01QSUxFKTogTmV3LCBsaWtlIENPTVBJTEUgYnV0IHdpdGhvdXQgSU5DTFVERVMuCgkoY3hhX2RlbWFuZ2xlLm8pOiBVc2UgQ19DT01QSUxFLgoJKGR5bi1zdHJpbmcubyk6IFVzZSBDX0NPTVBJTEUuCQoJCgkqIGluY2x1ZGUvYy9zdGRfY3N0ZGFyZy5oOiBEZWZpbmUgX19uZWVkX19fdmFfbGlzdC4gIAoJKiBpbmNsdWRlL2Mvc3RkX2NzdGRkZWYuaDogRGVmaW5lIG5lZWRfc2l6ZV90LCBuZWVkX3B0cmRpZmZfdCwKCW5lZWRfTlVMTCwgbmVlZF9vZmZzZXRvZi4KCjIwMDItMDYtMjggIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYy9zdGRfY3djaGFyLmg6IEd1YXJkLiBBZGQgbWJzdGF0ZV90IGJpdHMuCgkqIGluY2x1ZGUvYy9zdGRfY3djdHlwZS5oOiBHdWFyZC4KCgkqIGxpYnN1cGMrKy9laF9hbGxvYy5jYzogVHdlYWsgaW5jbHVkZSBvcmRlci4KCSogbGlic3VwYysrL3B1cmUuY2M6IFVzZSBjc3RkaW8uCgkqIGxpYnN1cGMrKy9uZXdfb3AuY2M6IFJlbW92ZSBtYWxsb2MgZm9yd2FyZCBkZWNsYXJhdGlvbiwgYXMKCWNzdGRsaWIgYnJpbmdzIGl0IGluLiBVc2Ugc3RkOjptYWxsb2MuCgoJKiBzcmMvTWFrZWZpbGUuYW0gKHNvdXJjZXMpOiBSZW1vdmUgY21hdGguY2MuCgkqIHNyYy9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogc3JjL2NtYXRoLmNjOiBSZW1vdmUuCgoyMDAyLTA2LTI3ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW4gKElOVEVSRkFDRSk6IFJlbW92ZS4KCShyZWxlYXNlX1ZFUlNJT04pOiBSZW1vdmUuCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9FWFBPUlRfSU5TVEFMTF9JTkZPKTogQ2hhbmdlIGluY2x1ZGUgcGxhY2VtZW50LgoJKGxpYnN0ZGN4eF9pbnRlcmZhY2UpOiBDaGFuZ2UuIFVzZSBnY2MgbWV0aG9kcyB0byBkZXRlcm1pbmUgdmVyc2lvbi4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoKMjAwMi0wNi0yNyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogYWNpbmNsdWRlLm00OiBGaXggbGFzdCBjaGVja2luLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoyMDAyLTA2LTI1ICBESiBEZWxvcmllICA8ZGpAcmVkaGF0LmNvbT4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9DT05GSUdVUkUpOiBTcGxpdCBvdXQKCUdMSUJDUFBfVE9QUkVMX0NPTkZJR1VSRS4KCSogYWNsb2NhbC5tNDogTGlrZXdpc2UuCgkqIGNvbmZpZ3VyZS5pbjogQ2FsbCBpdCBiZWZvcmUgQUNfQ0FOT05JQ0FMX1NZU1RFTS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKMjAwMi0wNi0yMCAgRGF2aWQgRWRlbHNvaG4gIDxlZGVsc29obkBnbnUub3JnPgoKCSogY29uZmlndXJlLnRhcmdldCAoQ1BVTElNSVRTSCk6IFVzZSBwb3dlcnBjIGRpcmVjdG9yeSBmb3IgcnM2MDAwLgoKMjAwMi0wNi0xNCAgSi5ULiBDb25rbGluICA8anRjQGFjb3JudG9vbHdvcmtzLmNvbT4KCgkqIGNvbmZpZ3VyZS5pbiAodGFyZ2V0X2FsaWFzKTogRml4LgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgoyMDAyLTA2LTExICBKLlQuIENvbmtsaW4gIDxqdGNAYWNvcm50b29sd29ya3MuY29tPgogICAgICAgICAgICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgkKCSogY29uZmlndXJlLnRhcmdldDogU2V0IG9zX2luY2x1ZGVfZGlyIHRvIGNvbmZpZy9vcy9xbngvcW54Ni4xCgl1bmRlciAqLXFueDYuWzEyXSouCgkqIGNvbmZpZ3VyZS5pbjogQWRkIHN1cHBvcnQgZm9yICotcW54Ni5bMTJdKi4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKCSogY29uZmlnL29zL3FueCwgY29uZmlnL29zL3FueC9xbng2LjEsIGNvbmZpZy9vcy9xbngvcW54Ni4xL2JpdHM6CglOZXcgZGlyZWN0b3JpZXMuICAKCSogY29uZmlnL29zL3FueC9xbng2LjEvYml0cy9jdHlwZV9iYXNlLmgsIGN0eXBlX2lubGluZS5oLAoJY3R5cGVfbm9uaW5saW5lLmgsIG9zX2RlZmluZXMuaDogTmV3IGZpbGVzLgoKMjAwMi0wNi0xMCAgU3RldmUgRWxsY2V5ICA8c2plQGN1cC5ocC5jb20+CgoJKiBzcmMvbG9jYWxlLWluc3QuY2MgKF9fY29kZWN2dF9hYnN0cmFjdF9iYXNlKToKCVB1dCBpbnNpZGUgX0dMSUJDUFBfVVNFX1dDSEFSX1QgaWZkZWYuCgkqIGluY2x1ZGUvYml0cy9pc3RyZWFtLnRjYyAoYmFzaWNfaXN0cmVhbSk6IERpdHRvLgoJKHdzKSBEaXR0by4KCShvcGVyYXRvcj4+KSBEaXR0by4KCSogaW5jbHVkZS9iaXRzL29zdHJlYW0udGNjIChiYXNpY19vc3RyZWFtKTogRGl0dG8uIAoJKGVuZGwpOiBEaXR0by4KCShlbmRzKTogRGl0dG8uCgkoZmx1c2gpOiBEaXR0by4KCShvcGVyYXRvcjw8KTogRGl0dG8uCgoyMDAyLTA2LTA4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlL2JhY2t3YXJkcy9zdHJzdHJlYW1fbWVtYmVycy5jYzogTmV3LgoKMjAwMi0wNi0wOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iYWNrd2FyZHMvc3Ryc3RyZWFtOiBGb3JtYXQuCgkqIHNyYy9zdHJzdHJlYW0uY2M6IEZvcm1hdC4KCQoyMDAyLTA2LTA4ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3JjL3N0cnN0cmVhbS5jYyAoc3Ryc3RyZWFtYnVmOjpvdmVyZmxvdyk6IFNldCBfTV9idWYsCglfTV9idWZfc2l6ZSBhbmQgX01fYnVmX3NpemVfb3B0IHRvIHRoZSBuZXcgYnVmZmVyIGFuZCBzaXplLgoKMjAwMi0wNi0wOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogY29uZmlnL29zL2dlbmVyaWMvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogVHdlYWsgZm9ybWF0LgoKMjAwMi0wNi0wNSAgRGF2aWQgRWRlbHNvaG4gIDxlZGVsc29obkBnbnUub3JnPgoKCSogY29uZmlnL29zL2FpeC9iaXRzL2N0eXBlX25vbmlubGluZS5oIChkb190b3VwcGVyLGRvX3RvbG93ZXIpOgoJQ2FsbCBleHRlcm5hbCBzeW1ib2wuCgoyMDAyLTA2LTA1ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXRfbWVtYmVyc19jaGFyLmNjCgkodGVzdDAyKTogQWRkIGRlY2ltYWwgcG9pbnQgdG8gbG9uZyBkb3VibGUgY29uc3RhbnRzLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldF9tZW1iZXJzX3djaGFyX3QuY2MKCSh0ZXN0MDIpOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXRfbWVtYmVyc19jaGFyLmNjCgkodGVzdDAyLCB0ZXN0MDMsIHRlc3QwNik6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X3B1dF9tZW1iZXJzX3djaGFyX3QuY2M6CgkodGVzdDAyLCB0ZXN0MDMsIHRlc3QwNik6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXRfbWVtYmVyc19jaGFyLmNjOgoJKHRlc3QwMiwgdGVzdDAxKTogTGlrZXdpc2U7IHN1ZmZpeCBsb25nIGxvbmcgY29uc3RhbnRzIHdpdGggTEwuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldF9tZW1iZXJzX3djaGFyX3QuY2M6CgkodGVzdDAyLCB0ZXN0MDEpOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fcHV0X21lbWJlcnNfY2hhci5jYzoKCSh0ZXN0MDIsIHRlc3QwMSk6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXRfbWVtYmVyc193Y2hhcl90LmNjOgoJKHRlc3QwMiwgdGVzdDAxKTogTGlrZXdpc2UuCgoyMDAyLTA2LTA0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgogICAgICAgICAgICBHYWJ5IERvcyBSZWlzICA8Z2RyQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLnRjYwoJKGJhc2ljX3N0cmluZzo6X1NfY29uc3RydWN0KGZvcndhcmRfaXRlcmF0b3JfdGFnKToKCUZpeCB0eXBvIGluIG51bGwgcG9pbnRlciBjaGVjay4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvY3Rvcl9jb3B5X2R0b3IuY2M6IEFkZCB0ZXN0MDQuCgoyMDAyLTA2LTAzICBNYXJjIEVzcGllICA8ZXNwaWVAb3BlbmJzZC5vcmc+CgogICAgICAgICogY29uZmlnL2NwdS9tNjhrL2JpdHMvYXRvbWljaXR5LmgoX19leGNoYW5nZV9hbmRfYWRkKTogRml4IGlubGluZQogICAgICAgIGFzc2VtYmx5IGZvciBvbGQgYXNzZW1ibGVycy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKMjAwMi0wNS0zMSAgTWFyY3VzIE1laXNzbmVyICA8bWVpc3NuZXJAc3VzZS5kZT4KCglQUiBsaWJzdGRjKysvNjg4NgoJKiBpbmNsdWRlL2JpdHMvc3RsX2J2ZWN0b3IuaDogIFVzZSBVTCBzdWZmaXggZm9yIHVuc2lnbmVkIGxvbmdzLgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy92ZWN0b3JfYm9vbC5jYyAodGVzdDAyKTogIE5ldyB0ZXN0LgoKMjAwMi0wNS0zMSAgSm9obiBEYXZpZCBBbmdsaW4gIDxkYXZlQGhpYXVseTEuaGlhLm5yYy5jYT4KCgkqIGNvbmZpZy9vcy9nbnUtbGludXgvYml0cy9vc19kZWZpbmVzLmggKF9fZ2xpYmNwcF9sb25nX2JpdHMpOiBEZWZpbmUKCXRvIDY0IGZvciBocHBhIDY0LWJpdCBwb3J0LgoJKF9fZ2xpYmNwcF9sb25nX2RvdWJsZV9iaXRzKTogRGVmaW5lIHRvIDY0IGZvciBhbGwgaHBwYSBwb3J0cy4KCjIwMDItMDUtMzAgIE1hcmMgRXNwaWUgIDxlc3BpZUBvcGVuYnNkLm9yZz4KCgkqIGNvbmZpZ3VyZS5pbjogQWx3YXlzIGNoZWNrIGZvciBzeXMvdHlwZXMuaC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKMjAwMi0wNS0yOCAgTmljayBDbGlmdG9uICA8bmlja2NAY2FtYnJpZGdlLnJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvbGliL2xpYnN0ZGMrKy12My1kZy5leHAgKGxpYnN0ZGMrKy12My1pbml0KToKCVJlYnVpbGQgdGhlIHdyYXBwZXIgZmlsZSBldmVyeSB0aW1lIHRoaXMgcHJvYyBpcyBjYWxsZWQuCgoyMDAyLTA1LTI4ICBMb3JlbiBKLiBSaXR0bGUgPGxqcml0dGxlQGFjbS5vcmc+CgoJbGlic3RkYysrLzY2NDEKCSogaW5jbHVkZS9iaXRzL2MrK2NvbmZpZyAoX19VU0VfTUFMTE9DKTogUmVwb3J0IGNhc2Ugd2hlcmUKCXRoZSB1c2VyIGltcHJvcGVybHkgZGVmaW5lZCBpdCBvbiB0aGUgY29tbWFuZCBsaW5lLgoKMjAwMi0wNS0yNyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogc3JjL21pc2MtaW5zdC5jYzogRGVmaW5lIHVubmVjZXNzYXJ5IGFsZ29yaXRobQoJaW5zdGFudGlhdGlvbnMuIEJyZWFrIGFwYXJ0IGluc3RhbnRpYXRpb25zIGludG8gZ3JvdXBpbmdzIGJlbG93LgoJKiBzcmMvZnN0cmVhbS1pbnN0LmNjOiBOZXcuCgkqIHNyYy9pby1pbnN0LmNjOiBOZXcuIAoJKiBzcmMvaXN0cmVhbS1pbnN0LmNjOiBOZXcuCgkqIHNyYy9vc3RyZWFtLWluc3QuY2M6IE5ldy4KCSogc3JjL3N0cmVhbWJ1Zi1pbnN0LmNjOiBOZXcuCgkqIHNyYy9zc3RyZWFtLWluc3QuY2M6IE5ldy4KCSogc3JjL01ha2VmaWxlLmFtIChzb3VyY2VzKTogQWRkIGZpbGVzLgoJKiBzcmMvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoJKiBhY2luY2x1ZGUubTQ6IFdvcmsgYXJvdW5kIGF1dG9tYWtlIDEuNC1wNSBidWcsIGNoYW5nZQoJQU1fR05VX0dFVFRFWFQgaW4gY29tbWVudHMgdG8gQU0tR05VLUdFVFRFWFQuCgkKMjAwMi0wNS0yNyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy82Nzk1LgoJKiBjb25maWcvb3Mvc29sYXJpcy9zb2xhcmlzMi42L2JpdHMvY3R5cGVfbm9uaW5saW5lLmgKCShjbGFzc2ljX3RhYmxlKTogRml4LgoJKiBjb25maWcvb3Mvc29sYXJpcy9zb2xhcmlzMi41L2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgoyMDAyLTA1LTI3ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlX2lzX3djaGFyX3QuY2M6IEd1YXJkIHdpdGgKCV9HTElCQ1BQX1VTRV9XQ0hBUl9ULgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlX25hcnJvd193Y2hhcl90LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlX3RvX3djaGFyX3QuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfd2lkZW5fd2NoYXJfdC5jYzogU2FtZS4KCjIwMDItMDUtMjYgIENhcmxvIFdvb2QgIDxjYXJsb0BhbGlub2UuY29tPgogICAgICAgICAgICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy82ODExCgkqIGNvbmZpZy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAwMS9jb2RlY3Z0X3NwZWNpYWxpemF0aW9ucy5oCgkoX19lbmNfdHJhaXRzOjpvcGVyYXRvcj0pOiBhZGQgbWlzc2luZyByZXR1cm4gc3RhdGVtZW50LgoKMjAwMi0wNS0yNCAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCVBSIGxpYnN0ZGMrKy82MjgyCgkqIGluY2x1ZGUvc3RkL3N0ZF9iaXRzZXQuaCAoX0Jhc2VfYml0ZXNldDwwPik6ICBOZXcgc3BlY2lhbGl6YXRpb24uCgkob3BlcmF0b3I+Pik6ICBJZiBub3RoaW5nIHdhcyBleHRyYWN0ZWQsIGRvbid0IGZhaWwgaW4gdGhlCgl6ZXJvLWxlbmd0aCBjYXNlLgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9iaXRzZXRfY3Rvci5jYyAodGVzdDAyKTogIE5ldyB0ZXN0LgoKMjAwMi0wNS0yNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy82NzAxCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfbmFycm93X2NoYXIuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV9uYXJyb3dfd2NoYXJfdC5jYzogTmV3LgkKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV93aWRlbl9jaGFyLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfd2lkZW5fd2NoYXJfdC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlX21lbWJlcnNfY2hhci5jYzogTW92ZSBzb21lIGJpdHMgaW50by4uLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlX2lzX2NoYXIuY2M6IC4uLnRoaXMuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfdG9fY2hhci5jYzogLi4uYW5kIHRoaXMuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfbWVtYmVyc193Y2hhcl90LmNjOiBNb3ZlIHNvbWUgYml0cyBpbnRvLi4uCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfaXNfd2NoYXJfdC5jYzogLi4udGhpcy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV90b193Y2hhcl90LmNjOiAuLi5hbmQgdGhpcy4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfc2Nhbl93Y2hhcl90LmNjOiBTaG91bGQgcGFzcy4KCQoyMDAyLTA1LTI0ICBEYWxlIFBlYWthbGwgPGRhbGVAcGVha2FsbC5uZXQ+CgoJUFIgbGlic3RkYysrLzY3MDEKCSogY29uZmlnL2xvY2FsZS9nbnUvY3R5cGVfbWVtYmVycy5jYyAoY3R5cGU8d2NoYXJfdD46OmRvX25hcnJvdyk6IEZpeC4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2N0eXBlX21lbWJlcnMuY2M6IFNhbWUuCgkKMjAwMi0wNS0yNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy82NzUwCgkqIGluY2x1ZGUvYml0cy9vc3RyZWFtLnRjYyAob3N0cmVhbTo6b3BlcmF0b3I8PChjb25zdCBjaGFyKikpOiBGaXgKCWZvciBlbXB0eSBzdHJpbmcgbGl0ZXJhbC4KCShvc3RyZWFtOjpvcGVyYXRvcjw8KGNvbnN0IF9DaGFyVCopKTogU2FtZS4KCShvc3RyZWFtPGNoYXI+OjpvcGVyYXRvcjw8KGNvbnN0IGNoYXIqKSk6IFNhbWUuCgkob3N0cmVhbTxjaGFyPjo6b3BlcmF0b3I8PChzdHJlYW1idWYqKSk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9vc3RyZWFtX2luc2VydGVyX2NoYXIuY2MgKHRlc3QwOCk6IEFkZCB0ZXN0cy4KCSogdGVzdHN1aXRlLzI3X2lvL29zdHJlYW1faW5zZXJ0ZXJfb3RoZXIuY2MgKHRlc3QwMik6IE1vZGlmeS4KCQoyMDAyLTA1LTIzICBSYWluZXIgT3J0aCAgPHJvQFRlY2hGYWsuVW5pLUJpZWxlZmVsZC5ERT4KCgkqIGNvbmZpZ3VyZS5pbjogVXBkYXRlIGxvY2FsIGluc3RhbGwuaHRtbCwgY29uZmlnb3B0cy5odG1sIHBhdGhzLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoJKiB0ZXN0c3VpdGUvdGVzdHN1aXRlX2hvb2tzLmggKF9fc2V0X3Rlc3RzdWl0ZV9tZW1saW1pdCk6IFJldHJpZXZlCgljdXJyZW50IGxpbWl0cyBiZWZvcmUgc2V0dGluZy4KCgkqIGFjaW5jbHVkZS5tNCAoZW5hYmxlX3N5bXZlcnMpOiBRdW90ZSAkTEQuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogTGlrZXdpc2UuCglGaXhlcyBQUiB0YXJnZXQvNjc1NS4KCjIwMDItMDUtMjMgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbiAocmVsZWFzZV9WRVJTSU9OKTogVXBkYXRlIHRvIDMuMS4xLgoJKGxpYnRvb2xfVkVSU0lPTik6IFVwZGF0ZSB0byA0OjE6MC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKMjAwMi0wNS0yMSAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogaW5jbHVkZS9iaXRzL3N0bF9wYWlyLmg6ICBUd2VhayBjb21tZW50IG1hcmt1cC4KCjIwMDItMDUtMjEgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGluY2x1ZGUvZXh0L3N0ZGlvX2ZpbGVidWYuaDogIEFkZCBoZWFkZXIgZ3VhcmRzLiAgRG94eWdlbmF0ZS4KCjIwMDItMDUtMTkgIEthdmVoIFIuIEdoYXppICA8Z2hhemlAY2FpcC5ydXRnZXJzLmVkdT4KCgkqIGNvbmZpZ3VyZS5pbiAoQUNfQ0hFQ0tfSEVBREVSUyk6IENoZWNrIGZvciBzdHJpbmcuaCAmIHN0ZGxpYi5oLgoJKiBsaWJzdXBjKysvTWFrZWZpbGUuYW0gKExUQ09NUElMRSk6IEFkZCAkKERFRlMpLgoJKiBNYWtlZmlsZS5pbiwgY29uZmlnLmguaW4sIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCgkqIGNvbmZpZy9vcy9pcml4L2lyaXg1LjIvYml0cy9jdHlwZV9ub25pbmxpbmUuaCAoY2xhc3NpY190YWJsZSk6CglSZXR1cm4gX19jdHlwZSArIDEuCgkoY3R5cGU6X01fdGFibGUpOiBJbml0aWFsaXplIHRvIGNsYXNzaWNfdGFibGUoKSwgbm90IF9fY3R5cGUuCgoJKiBjb25maWcvb3MvaXJpeC9pcml4NS4yL2JpdHMvb3NfZGVmaW5lcy5oCgkoX19nbGliY3BwX2xvbmdfZG91YmxlX2JpdHMsIF9fZ2xpYmNwcF9sb25nX2JpdHMpOiBEZWZpbmUuCgoyMDAyLTA1LTE5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgogICAgICAgICAgICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0X21lbWJlcnNfY2hhci5jYwoJKHRlc3QwMSwgdGVzdDAyLCB0ZXN0MDQpOiBVc2UgdGhlIGRlX0RFQGV1cm8gbmFtZWQgbG9jYWxlCglpbnN0ZWFkIG9mIGRlX0RFIHRvIGFsbG93IGZvciBhbiB1bmlmb3JtIGJlaGF2aW91ciB3aXRoCglib3RoIG9sZCBhbmQgRXVyby1lcmEgbG9jYWxlZGF0YTsgdHdlYWsgc29tZSB0ZXN0cy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXRfbWVtYmVyc193Y2hhcl90LmNjCgkodGVzdDAxLCB0ZXN0MDIsIHRlc3QwNCk6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X3B1dF9tZW1iZXJzX2NoYXIuY2MKCSh0ZXN0MDEsIHRlc3QwMiwgdGVzdDA0KTogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0X21lbWJlcnNfd2NoYXJfdC5jYwoJKHRlc3QwMSwgdGVzdDAyLCB0ZXN0MDQpOiBMaWtld2lzZS4KCjIwMDItMDUtMTkgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnRfbWVtYmVyc19jaGFyX2NoYXIuY2MKCSh0ZXN0MDMpOiBSb2J1c3RpZnkgd3J0IGxvY2FsZWRhdGEuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dF9tZW1iZXJzX3djaGFyX3RfY2hhci5jYyAodGVzdDAzKTogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZV9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwNCk6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGVfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDQpOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwNSk6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlX21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDA0KTogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXNfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDMpOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXRfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDgpOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXRfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDgpOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXRfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDcpOiBMaWtld2lzZS4gCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDA3KTogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlwdW5jdF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwMyk6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5cHVuY3RfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDMpOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0X21lbWJlcnNfY2hhci5jYyAodGVzdDA2KTogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwNik6IExpa2V3aXNlLiAKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fcHV0X21lbWJlcnNfY2hhci5jYyAodGVzdDA0KTogQWRkIGNvbW1lbnQuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwNCk6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0X21lbWJlcnNfY2hhci5jYyAodGVzdDAzKTogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtcHVuY3RfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDMpOiBMaWtld2lzZS4gCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXRfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDgpOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwOCk6IExpa2V3aXNlLiAKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwNCk6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDA0KTogTGlrZXdpc2UuCgoyMDAyLTA1LTE5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVRlc3QgYWxsIHRoZSBmYWNldHMgZm9yIHRoZSB0ZW1wb3JhcnkgIkMiIGxvY2FsZSBzd2l0Y2ggaXNzdWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dF9tZW1iZXJzX2NoYXJfY2hhci5jYzogQWRkIHRlc3QwMy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0X21lbWJlcnNfd2NoYXJfdF9jaGFyLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlX21lbWJlcnNfY2hhci5jYzogQWRkIHRlc3QwNC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlX21lbWJlcnNfd2NoYXJfdC5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfbWVtYmVyc19jaGFyLmNjOiBBZGQgdGVzdDA1LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlX21lbWJlcnNfd2NoYXJfdC5jYzogQWRkIHRlc3QwNC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlc19tZW1iZXJzX2NoYXIuY2M6IEFkZCB0ZXN0MDMuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0X21lbWJlcnNfY2hhci5jYzogQWRkIHRlc3QwOC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXRfbWVtYmVyc193Y2hhcl90LmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXRfbWVtYmVyc19jaGFyLmNjOiBBZGQgdGVzdDA3LiAKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXRfbWVtYmVyc193Y2hhcl90LmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leXB1bmN0X21lbWJlcnNfY2hhci5jYzogQWRkIHRlc3QwMy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leXB1bmN0X21lbWJlcnNfd2NoYXJfdC5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldF9tZW1iZXJzX2NoYXIuY2M6IEFkZCB0ZXN0MDYuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldF9tZW1iZXJzX3djaGFyX3QuY2M6IExpa2V3aXNlLiAKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1wdW5jdF9tZW1iZXJzX2NoYXIuY2M6IEFkZCB0ZXN0MDMuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtcHVuY3RfbWVtYmVyc193Y2hhcl90LmNjOiBMaWtld2lzZS4gCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXRfbWVtYmVyc19jaGFyLmNjOiBBZGQgdGVzdDA4LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0X21lbWJlcnNfd2NoYXJfdC5jYzogTGlrZXdpc2UuIAoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0X21lbWJlcnNfY2hhci5jYzogQWRkIHRlc3QwNC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dF9tZW1iZXJzX3djaGFyX3QuY2M6IExpa2V3aXNlLgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fcHV0X21lbWJlcnNfY2hhci5jYyAodGVzdDA0KTogQWRkIGNvbW1lbnQuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwNCk6IExpa2V3aXNlLgoKMjAwMi0wNS0xOSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoJICAgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXRfbWVtYmVyc19jaGFyLmNjOiBBZGQgdGVzdDA0KCksCgl0ZXN0aW5nIGZvciB0aGUgbG9jYWxlX2ZhY2V0cy50Y2MgZW50cnkgb2YgdGhlIHByZXZpb3VzIGNvbW1pdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fcHV0X21lbWJlcnNfd2NoYXJfdC5jYzogTGlrZXdpc2UuCgoyMDAyLTA1LTE4ICBUYWtlc2hpIEtvYmF5YWthd2EgIDx0c2tvYmFAbXRlLmJpZ2xvYmUubmUuanA+CgkKCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2NfbG9jYWxlLmNjCgkoX19jb252ZXJ0X3RvX3YoZmxvYXQsIGRvdWJsZSwgbG9uZyBkb3VibGUpKToKCUZpeCB0aGUgdGVtcG9yYXJ5IHN3aXRjaCB0byB0aGUgIkMiIGxvY2FsZSwgc2F2aW5nIGFuZAoJcmVzdG9yaW5nIGluIHRoZSBwcm9wZXIgd2F5IHRoZSBjdXJyZW50IGxvY2FsZS4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL3RpbWVfbWVtYmVycy5jYwoJKF9fdGltZXB1bmN0PGNoYXIsIHdjaGFyX3Q+OjpfTV9wdXQpOiBMaWtld2lzZS4KCSogY29uZmlnL2xvY2FsZS9nbnUvbWVzc2FnZXNfbWVtYmVycy5jYwoJKG1lc3NhZ2VzPGNoYXI+Ojpkb19nZXQpOiBMaWtld2lzZS4KCSogY29uZmlnL2xvY2FsZS9nbnUvbWVzc2FnZXNfbWVtYmVycy5oCgkobWVzc2FnZXM8X0NoYXJUPjo6ZG9fZ2V0KTogTGlrZXdpc2UuCgkqIGNvbmZpZy9sb2NhbGUvZ251L3RpbWVfbWVtYmVycy5jYwoJKF9fdGltZXB1bmN0PGNoYXIsIHdjaGFyX3Q+OjpfTV9wdXQpOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChfX2NvbnZlcnRfZnJvbV92KTogTGlrZXdpc2UuCgoyMDAyLTA1LTE4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgogICAgICAgICAgICBOYXRoYW4gTXllcnMgIDxuY21AY2FudHJpcC5vcmc+CiAgICAgICAgICAgIFBoaWxpcCBNYXJ0aW4gIDxwaGlsaXBAY29kZW1hdHRlcnMuY28udWs+CgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLmgKCShyZXBsYWNlKGkxLCBpMiwgX0NoYXJUKiBrMSwgX0NoYXJUKiBrMiksCglyZXBsYWNlKGkyLCBpMiwgY29uc3QgX0NoYXJUKiBrMSwgY29uc3QgX0NoYXJUKiBrMiksCglyZXBsYWNlKGkxLCBpMiwgaXRlcmF0b3IgazEsIGl0ZXJhdG9yIGsyLAoJcmVwbGFjZShpMSwgaTIsIGNvbnN0X2l0ZXJhdG9yIGsxLCBjb25zdF9pdGVyYXRvciBrMik6CglOZXcgc3BlY2lhbGl6YXRpb25zIHRvIG9wdGltaXplIGZvciB0aGUgY29tbW9uIGNhc2VzIG9mCglwb2ludGVycyBhbmQgaXRlcmF0b3JzLgoJKHJlcGxhY2UocG9zLCBuMSwgcywgbjIpKTogVHdlYWsuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcudGNjOiBUd2VhayBjb21tZW50cy4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvcmVwbGFjZS5jYyAodGVzdDA1KTogTmV3IHRlc3RzLgoKMjAwMi0wNS0xOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogY29uZmlnL29zL3NvbGFyaXMvc29sYXJpczIuNS9iaXRzL29zX2RlZmluZXMuaDogUmVtb3ZlCglfR19VU0lOR19USFVOS1MuCgkqIGNvbmZpZy9vcy9zb2xhcmlzL3NvbGFyaXMyLjYvYml0cy9vc19kZWZpbmVzLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9zb2xhcmlzL3NvbGFyaXMyLjcvYml0cy9vc19kZWZpbmVzLmg6IFNhbWUuCgoyMDAyLTA1LTE4ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBkb2NzL2h0bWwvMTdfaW50cm8vUkVMRUFTRS1OT1RFUyAoTmV3KTogVXBkYXRlLgoKMjAwMi0wNS0xOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy82NTE4CgkqIGluY2x1ZGUvYml0cy9vc3RyZWFtLnRjYyAob3N0cmVhbTo6b3BlcmF0b3I8PChjb25zdCBjaGFyKikpOiBGaXgKCWZvciBudWxsIGNhc2UuCgkob3N0cmVhbTo6b3BlcmF0b3I8PChjb25zdCBfQ2hhclQqKSk6IFNhbWUuCgkob3N0cmVhbTxjaGFyPjo6b3BlcmF0b3I8PChjb25zdCBjaGFyKikpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vb3N0cmVhbV9pbnNlcnRlcl9jaGFyLmNjICh0ZXN0MDcpOiBBZGQgdGVzdC4KCjIwMDItMDUtMTggIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglQUiBsaWJzdGRjKysvNjU5NAoJKiBzcmMvc3Ryc3RyZWFtLmNjIChzdHJzdHJlYW1idWYpOiBGaXggbGVhay4KCjIwMDItMDUtMTggIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfc2Nhbl9jaGFyLmNjOiBUd2Vhay4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV9zY2FuX3djaGFyX3QuY2M6IE5ldy4JCgoJKiBkb2NzL2h0bWwvaW5zdGFsbC5odG1sOiBGaXguCgoyMDAyLTA1LTE4ICBLYXZlaCBSLiBHaGF6aSAgPGdoYXppQGNhaXAucnV0Z2Vycy5lZHU+CgoJKiBjb25maWcvb3MvaXJpeC9pcml4NS4yL2JpdHMvY3R5cGVfaW5saW5lLmg6IENhc3QgdG8gdW5zaWduZWQKCWNoYXIuCgoJKiBjb25maWcvb3MvaXJpeC9pcml4NS4yL2JpdHMvY3R5cGVfaW5saW5lLmggKHNjYW5faXMsIHNjYW5fbm90KToKCUZpeCB0eXBvLCB1c2UgdGhpcy0+aXMoKSByYXRoZXIgdGhhbiBtYW51YWxseSAoYW5kIHBlcmhhcHMKCWluY29ycmVjdGx5KSBpbmxpbmluZyBpdC4KCSogY29uZmlnL29zL2lyaXgvaXJpeDYuNS9iaXRzL2N0eXBlX2lubGluZS5oIChzY2FuX2lzLCBzY2FuX25vdCk6CglMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV9zY2FuX2NoYXIuY2M6IE5ldyBmaWxlLgoKMjAwMi0wNS0xOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjCgkoYmFzaWNfZmlsZWJ1Zjo6X01fYWxsb2NhdGVfaW50ZXJuYWxfYnVmZmVyKTogUmVtb3ZlIGV4dHJhbmVvdXMKCXRyeS9jYXRjaCBibG9ja3MuCgkqIHNyYy9sb2NhbGVuYW1lLmNjIChsb2NhbGU6Ol9JbXBsOjpfTV9pbnN0YWxsX2ZhY2V0KTogU2FtZS4KCgkqIGRvY3MvaHRtbC9pbnN0YWxsLmh0bWw6IFR3ZWFrLCBhZGQgYml0cyBhYm91dCByZXF1aXJlZCBsb2NhbGVzCglmb3IgdGhlIDIyX2xvY2FsZSB0ZXN0cyB3aGVuIHVzaW5nIHRoZSBnbnUgbW9kZWwuCgoJKiB0ZXN0c3VpdGUvMjdfaW8vaXN0cmVhbV9zZW50cnkuY2M6IFR3ZWFrLgoKMjAwMi0wNS0xNiAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogZG9jcy9odG1sL2ZhcS9pbmRleC5odG1sOiAgVXBkYXRlIG5vdC1hLWJ1ZyBsaXN0IHdpdGggYmFzaWNfZmlsZS5oLgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4LnR4dDogIFJlZ2VuZXJhdGUuCgoyMDAyLTA1LTE1ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy82NjQ4CgkqIGluY2x1ZGUvYml0cy9pc3RyZWFtLnRjYyAoaXN0cmVhbTo6Z2V0bGluZSwgaWdub3JlKToKCVVwb24gX19pZGVsaW0gKF9fZGVsaW0pIGNhbGwgc2J1bXBjKCkgbm90IHNuZXh0YygpLgoJKiB0ZXN0c3VpdGUvMjdfaW8vbmFycm93X3N0cmVhbV9vYmplY3RzLmNjOgoJQWRkIHRlc3QwOCBhbmQgdGVzdDA5LgoJCjIwMDItMDUtMTQgIFJlbGVhc2UgTWFuYWdlcgoKCSogR0NDIDMuMSBSZWxlYXNlZC4KCjIwMDItMDUtMDkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL2xpYi9saWJzdGRjKystdjMtZGcuZXhwIChsaWJzdGRjKystdjMtaW5pdCk6IEFwcGVuZCBhbGwKCW11bHRpbGliIGRpcnMgY29udGFpbmluZyBsaWJnY2Nfcyouc28uMSBiZWxvdyBnY2Mgb2JqZWN0IGRpciB0bwoJTERfTElCUkFSWV9QQVRILgoKMjAwMi0wNS0wOCAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW4gKE9SSUdJTkFMX0xEX0ZPUl9NVUxUSUxJQlMpOiBQcmVzZXJ2ZSBMRCBhdAoJc2NyaXB0IGVudHJ5LCBhbmQgc2V0IExEIHRvIGl0IHdoZW4gY29uZmlndXJpbmcgbXVsdGlsaWJzLgoJKiBjb25maWd1cmU6IFJlYnVpbHQuCgoyMDAyLTA1LTA2ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2h0bWwvZG9jdW1lbnRhdGlvbi5odG1sOiAgRml4IGJyb2tlbiBsaW5rLgoKMjAwMi0wNS0wMyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy82NTQ5LgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGZpbGVidWY6Ol9NX3VuZGVyZmxvd19jb21tb24pOiBSZXZlcnQuCgkqIHRlc3RzdWl0ZS8yN19pby9uYXJyb3dfc3RyZWFtX29iamVjdHMuY2MgKHRlc3QwNyk6IEFkZC4KCjIwMDItMDUtMDIgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGRvY3MvaHRtbC9mYXEvaW5kZXguaHRtbDogIFVwZGF0ZSBsaXN0IGluICM0LjEuCgkqIGRvY3MvaHRtbC9mYXEvaW5kZXgudHh0OiAgUmVnZW5lcmF0ZWQuCgoyMDAyLTA1LTAxICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBpbmNsdWRlL3N0ZC9zdGRfYml0c2V0Lmg6ICBGaXggZG94eWdlbiBjb21tZW50cy4KCSogZG9jcy9odG1sL2RvY3VtZW50YXRpb24uaHRtbDogIE1pbm9yIHR3ZWFrcyBmb3IgMy4xLgoJKiBkb2NzL2h0bWwvMjdfaW8vaG93dG8uaHRtbDogIExpa2V3aXNlLgoJKiBkb2NzL2h0bWwvZXh0L2hvd3RvLmh0bWw6ICBMaWtld2lzZSwgbWVudGlvbiBzdGRpb19maWxlYnVmLgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4Lmh0bWw6ICBMaWtld2lzZS4KCSogZG9jcy9odG1sL2ZhcS9pbmRleC50eHQ6ICBSZWdlbmVyYXRlZC4KCjIwMDItMDUtMDEgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglQUiBsaWJzdGRjKysvNjUzMwoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtYnVmX2l0ZXJhdG9yLmggKGlzdHJlYW1idWZfaXRlcmF0b3I6Ol9NX2dldCk6IE5ldy4KCShpc3RyZWFtYnVmX2l0ZXJhdG9yOjplcXVhbCk6IFVzZSBpdC4KCShpc3RyZWFtYnVmX2l0ZXJhdG9yOjpvcGVyYXRvciopOiBVc2UgaXQuCQoKMjAwMi0wNS0wMSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCQoJUFIgbGlic3RkYysrLzY1MTMKCSogaW5jbHVkZS9iaXRzL3N0bF91bmluaXRpYWxpemVkLmgKCSh1bmluaXRpYWxpemVkX2NvcHkoX0lucHV0SXRlciwgX0lucHV0SXRlciwgX0ZvcndhcmRJdGVyKSk6CglGaXggdHlwbyBpbiAyMDAxLTA3LTE3IGNvbW1pdDogdHlwZWRlZiBfVmFsdWVUeXBlIHRvCglpdGVyYXRvcl90cmFpdHM8X0ZvcndhcmRJdGVyPiBub3QgPF9JbnB1dEl0ZXI+LgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy92ZWN0b3JfY3Rvci5jYzogQWRkIHRlc3QwNC4KCjIwMDItMDQtMzAgIEpvaG4gRGF2aWQgQW5nbGluICA8ZGF2ZUBoaWF1bHkxLmhpYS5ucmMuY2E+CgoJUFIgbGlic3RkYysrLzY1MDEKCSogaW5jbHVkZS9jX3N0ZC9zdGRfY2N0eXBlLmg6IEluY2x1ZGUgYml0cy9jKytjb25maWcuaC4KCSogY29uZmlnL29zL2hwdXgvYml0cy9vc19kZWZpbmVzLmggKF9TQl9DVFlQRV9NQUNST1MpOiBEZWZpbmUuCgoyMDAyLTA0LTMwICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2V4dC9zdGRpb19maWxlYnVmLmg6IE5ldyBmaWxlLgoJKiBpbmNsdWRlL2V4dC9lbmNfZmlsZWJ1Zi5oOiBOZXcgZmlsZS4KCSogY29uZmlnL2lvL2Jhc2ljX2ZpbGVfc3RkaW8uaCAoX19iYXNpY19maWxlOjpzeXNfb3Blbik6IEFkZCBmZCBjdG9yLgoJKiBjb25maWcvaW8vYmFzaWNfZmlsZV9zdGRpby5jYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChmaWxlYnVmOjpfTV9hbGxvY2F0ZV9pbnRlcm5hbF9idWZmZXIpOgoJUmVtb3ZlIF9NX3VuYnVmIGhhY2tzLgoJKGZpbGVidWY6Ol9NX2Rlc3Ryb3lfaW50ZXJuYWxfYnVmZmVyKTogU2FtZS4KCShmaWxlYnVmOjpmaWxlYnVmKGNmaWxlLCBvcGVubW9kZSwgaW50X3R5cGUpOiBSZW1vdmUgZGVmaW5pdGlvbi4KCShmaWxlYnVmOjpmZCk6IFJlbW92ZS4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoZmlsZWJ1Zjo6X01fdW5idWYpOiBSZW1vdmUuCgkoZmlsZWJ1Zjo6ZmlsZWJ1ZihfX2NfZmlsZSosIG9wZW5tb2RlLCBpbnRfdHlwZSkpOiBSZW1vdmUuCgkoZmlsZWJ1Zjo6ZmQpOiBSZW1vdmUuCgkqIHNyYy9pb3MuY2MgKGlvc19iYXNlOjpfU19pb3NfY3JlYXRlKTogQ2hhbmdlIHRvIHVzZSBzcGVjaWFsaXplZAoJZmlsZWJ1ZnMuCgkoaW9zX2Jhc2U6Ol9TX2lvc19kZXN0cm95KTogU2FtZS4KCSogc3JjL21pc2MtaW5zdC5jYyAoZmlsZV9maWxlYnVmPGNoYXI+KTogQWRkIGluc3RhbnRpYXRpb24uCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKGV4dF9oZWFkZXJzKTogQWRkIGV4dF9maWxlYnVmLmgsCglzdGRpb19maWxlYnVmLmguICAqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkKMjAwMi0wNC0zMCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy82NTExCgkqIGNvbmZpZy9vcy9zb2xhcmlzL3NvbGFyaXMyLjcvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogRml4IHR5cG8uCgkKMjAwMi0wNC0yOSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKICAgICAgICBQUiBsaWJzdGRjKysvNTgyMAogICAgICAgICogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChiYXNpY19maWxlYnVmOjpfTV91bmRlcmZsb3dfY29tbW9uKToKICAgICAgICBDaGVjayBmb3IgZW9mLgogICAgICAgICogaW5jbHVkZS9iaXRzL3N0cmVhbWJ1Zl9pdGVyYXRvci5oOiBNYXRjaCBzdHJlYW1faXRlcmF0b3IuaC4KICAgICAgICAoaXN0cmVhbWJ1Zl9pdGVyYXRvcjo6b3BlcmF0b3IrKyk6IEludmFsaWRhdGUgb24gZW9mLgogICAgICAgIChpc3RyZWFtYnVmX2l0ZXJhdG9yOjpvcGVyYXRvcisrKGludCkpOiBTYW1lLgogICAgICAgIChpc3RyZWFtYnVmX2l0ZXJhdG9yOjpvcGVyYXRvciopOiBTYW1lLgogCjIwMDItMDQtMjkgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCiAgICAgICAgUFIgbGlic3RkYysrLzU4MjAKCSogY29uZmlnL2lvL2Jhc2ljX2ZpbGVfc3RkaW8uaCAoX19iYXNpY19maWxlOjpzeXNfZ2V0Yyk6IFJldHVybiBpbnQuCiAgICAgICAgKF9fYmFzaWNfZmlsZTo6c3lzX3VuZ2V0Yyk6IFRha2UgaW50LgogICAgICAgICogY29uZmlnL2lvL2Jhc2ljX2ZpbGVfc3RkaW8uY2MgKF9fYmFzaWNfZmlsZTo6c3lzX3VuZ2V0Yyk6IFNhbWUuCiAgICAgICAgKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGJhc2ljX2ZpbGVidWY6Ol9NX3VuZGVyZmxvd19jb21tb24pOgogICAgICAgIFVzZSBzeXNfZ2V0YyBmb3IgdW5idWZmZXJlZCBpbnB1dC4KICAgICAgICAqIHRlc3RzdWl0ZS8yN19pby9uYXJyb3dfc3RyZWFtX29iamVjdHMuY2MgKHRlc3QwNik6IE5ldy4KICAgICAgICAKICAgICAgICAqIHNyYy9pb3MuY2MgKF9NX2dyb3dfd29yZHMpOiBBZGp1c3QgZXJyb3IgY2hlY2tpbmcuCiAgICAgICAgKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX2Jhc2Vfc3RvcmFnZS5jYzogU2FtZS4KCjIwMDItMDQtMjkgIFJhaW5lciBPcnRoICA8cm9AVGVjaEZhay5VbmktQmllbGVmZWxkLkRFPgoKCSogdGVzdHN1aXRlL2xpYi9saWJzdGRjKystdjMtZGcuZXhwIChsaWJzdGRjKystdjMtaW5pdCk6IFNldCBhbGwKCW9mIExEX0xJQlJBUllfUEFUSCwgU0hMSUJfUEFUSCwgTERfTElCUkFSWU4zMl9QQVRILAoJTERfTElCUkFSWTY0X1BBVEguIAoKMjAwMi0wNC0yOCAgUGV0ZXIgU2NobWlkICA8c2NobWlkQHNuYWtlLmlhcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgoKCSogaW5jbHVkZS9leHQvc3RsX2hhc2h0YWJsZS5oOiBJbXBvcnQgX19pdGVyYXRvcl9jYXRlZ29yeQoKMjAwMi0wNC0yOCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KICAgICAgICAgICAgUGV0ZXIgU2NobWlkICA8c2NobWlkQHNuYWtlLmlhcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgoKCSogdGVzdHN1aXRlL2V4dC9oYXNoX3NldC5jYzogTmV3IHRlc3RmaWxlLgoKMjAwMi0wNC0yNiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcuaCAocmVwbGFjZShfX3BvcywgX19uMSwgX19zLCBfX24yKToKCUZpeCBhbmQgdGlnaHRlbiBfX3Rocm93X2xlbmd0aF9lcnJvciBjaGVjay4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvcmVwbGFjZS5jYyAodGVzdDA0KTogTmV3LgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9yZXBsYWNlLmNjICh0ZXN0MDIsIHRlc3QwMyk6IFR3ZWFrLgoKMjAwMi0wNC0yMyAgTG9yZW4gSi4gUml0dGxlIDxsanJpdHRsZUBhY20ub3JnPgoKCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoYmFzaWNfZmlsZWJ1Zjo6c3luYyk6IEhvaXN0Cgl1bmNvbmRpdGlvbmFsIGZsdXNoIG9uIGxvd2VyLWxheWVyIGhhbmRsZSB0byBoZXJlLi4uCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoYmFzaWNfZmlsZWJ1Zjo6X01fcmVhbGx5X292ZXJmbG93KToKCS4uLmZyb20gaGVyZS4gIE9wdGltaXplIHJlbWFpbmluZyBfTV9maWxlLnN5bmMoKSBjYWxsIHBhdHRlcm4uCgkqIHRlc3RzdWl0ZS8yN19pby9uYXJyb3dfc3RyZWFtX29iamVjdHMuY2MgKHRlc3QwNCk6IE5ldyB0ZXN0LgoJKHRlc3QwNSk6IExpa2V3aXNlLgoKMjAwMi0wNC0yMyAgSmFzb24gTWVycmlsbCAgPGphc29uQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGJhc2ljX2ZpbGVidWY6OnNlZWtvZmYpOiBGaXggZm9yCglvdXRwdXQtb25seSBmaWxlYnVmcy4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoYmFzaWNfZmlsZWJ1Zjo6X01fc2V0X2luZGV0ZXJtaW5hdGUpOgoJTGlrZXdpc2UuCgkoYmFzaWNfZmlsZWJ1Zjo6X01fc2V0X2RldGVybWluYXRlKTogTGlrZXdpc2UuCgoJUFIgbGlic3RkYysrLzY0MTQKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChiYXNpY19maWxlYnVmOjpzZWVrb2ZmKTogQWRqdXN0IHJldHVybgoJdmFsdWUgcHJvcGVybHkgaW4gdGhlIHRyaXZpYWwgY2FzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2lzdHJlYW1fc2Vla3MuY2MgKHRlc3QwNCk6IE1ha2Ugc3VyZSB0aGF0Cgl0ZWxsZygpIHJldHVybnMgdGhlIHJpZ2h0IHZhbHVlIGFmdGVyIGEgcmVhZC4KCjIwMDItMDQtMjMgIEhhbnMtUGV0ZXIgTmlsc3NvbiAgPGhwQGJpdHJhbmdlLmNvbT4KCgkqIGNvbmZpZy9jcHUvbW1peC9iaXRzL2NwdV9saW1pdHMuaDogTmV3IGZpbGUuCgkqIGNvbmZpZ3VyZS50YXJnZXQgKENQVUxJTUlUU0gpOiBVc2UgaXQuCgoyMDAyLTA0LTIwICBKYXNvbiBNZXJyaWxsICA8amFzb25AcmVkaGF0LmNvbT4KCglQUiBsaWJzdGRjKysvNDE1MAoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RyZWFtYnVmLmggKGJhc2ljX3N0cmVhbWJ1Zjo6X01fc2V0X2luZGV0ZXJtaW5hdGUpOiAKCU1vdmUgdG8gZmlsZWJ1Zi4KCShiYXNpY19zdHJlYW1idWY6Ol9NX3NldF9kZXRlcm1pbmF0ZSk6IExpa2V3aXNlLgoJKGJhc2ljX3N0cmVhbWJ1Zjo6X01faXNfaW5kZXRlcm1pbmF0ZSk6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RkX2ZzdHJlYW0uaCAoYmFzaWNfZmlsZWJ1Zjo6X01fZmlsZXBvcyk6IE5ldyAKCW5vbi1zdGF0aWMgZGF0YSBtZW1iZXIuCgkoYmFzaWNfZmlsZWJ1Zjo6X01fdW5kZXJmbG93X2NvbW1vbik6IE5ldyBub24tc3RhdGljIG1lbWJlciBmdW5jdGlvbi4KCShiYXNpY19maWxlYnVmOjpfTV91bmRlcmZsb3csIF9NX3VmbG93KTogQ2FsbCBpdC4KCShiYXNpY19maWxlYnVmOjpzeW5jKTogQXZvaWQgdXNlbGVzcyBzZWVraW5nLgoJKGJhc2ljX2ZpbGVidWY6Ol9NX3NldF9pbmRldGVybWluYXRlKTogTW92ZSBoZXJlIGZyb20gc3RyZWFtYnVmLgoJU2V0IF9NX2ZpbGVwb3MuCgkoYmFzaWNfZmlsZWJ1Zjo6X01fc2V0X2RldGVybWluYXRlKTogTGlrZXdpc2UuCgkoYmFzaWNfZmlsZWJ1Zjo6X01faXNfaW5kZXRlcm1pbmF0ZSk6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGJhc2ljX2ZpbGVidWY6Ol9NX3JlYWxseV9vdmVyZmxvdyk6IFNlZWsKCWJhY2sgdG8gX01fb3V0X2JlZyBpZiBuZWNlc3NhcnkuCgkoYmFzaWNfZmlsZWJ1Zjo6c2Vla29mZik6IExpa2V3aXNlLgoJKGJhc2ljX2ZpbGVidWY6Ol9NX3VuZGVyZmxvd19jb21tb24pOiBHZW5lcmFsaXphdGlvbiBvZiBvbGQgCgl1bmRlcmZsb3coKS4gIERvbid0IHNlZWsgYmFjayB0byBfTV9pbl9iZWcuCgkqIHNyYy9pb3MuY2M6IExvc2UgX0dMSUJDUFBfQVZPSURfRlNFRUsgc3R1ZmYuCgkqIGNvbmZpZy9vcy9zb2xhcmlzL3NvbGFyaXMyLj8vYml0cy9vc19kZWZpbmVzLmg6IExpa2V3aXNlLgoJKiBjb25maWcvb3MvYnNkL2ZyZWVic2QvYml0cy9vc19kZWZpbmVzLmg6IExpa2V3aXNlLgoJKiBjb25maWcvb3MvbWluZ3czMi9iaXRzL29zX2RlZmluZXMuaDogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmX3ZpcnR1YWxzLmNjICh0ZXN0MDUpOiBEb24ndCBvdmVyc3BlY2lmeSAKCXVuZ2V0YyB0ZXN0LgoKMjAwMi0wNC0yMiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjIChpc3RyZWFtOjpyZWFkKTogRml4LgoJKiB0ZXN0c3VpdGUvMjdfaW8vaXN0cmVhbV91bmZvcm1hdHRlZC5jYyAobWFpbik6IEFkZC4KCQoyMDAyLTA0LTIwICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJUFIgbGlic3RkYysrLzYzNjAKCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjIChpc3RyZWFtOjppZ25vcmUpOiBTdHJlYW1saW5lLCB1c2UKCWRlbGltaXRlciBhcyBpcy4KCSogaW5jbHVkZS9iaXRzL3N0cmVhbWJ1Zi50Y2M6IFVzZSB0aGlzLT5ncHRyLgoJKiB0ZXN0c3VpdGUvMjdfaW8vaXN0cmVhbV91bmZvcm1hdHRlZC5jYyAodGVzdDA4KTogQWRkIHRlc3QuCgoyMDAyLTA0LTE5ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgogICAgICAgICogaW5jbHVkZS9iaXRzL2xvY2FsZWZ3ZC5oIChsb2NhbGU6OmlkOjpfTV9pZCk6IERvIHRoaXMgY29ycmVjdGx5LAogICAgICAgIGFzIHR5cGUgc2FmZXR5IGlzIGltcG9ydGFudCwgZXNwZWNpYWxseSBvbiBzb2xhcmlzLgogICAgICAgICogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjIChpc3RyZWFtOjpyZWFkKTogQ2xlYW4uCiAgICAgICAgKGlzdHJlYW06OnJlYWRzb21lKTogU2FtZS4KICAgICAgICAqIGxvY2FsZS5jYzogV3JhcCBsaW5lcy4KCiAgICAgICAgKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9pbnNlcnRlcnNfZXh0cmFjdG9ycy5jYzogVHdlYWtzLgogICAgICAgICogdGVzdHN1aXRlLzI3X2lvL2luc3RhbnRpYXRpb25zLmNjICh0ZXN0KTogQWRkIGJvb2wgdmFyaWFibGUuLi4KICAgICAgICAqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2NhcGFjaXR5LmNjOiBDbGVhbi4KCjIwMDItMDQtMTkgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCiAgICAgICAgKiB0ZXN0c3VpdGUvMjdfaW8vZmlsZWJ1Zl92aXJ0dWFscy5jYzogQWRkIF9TX3BiYWNrX3NpemUgaW5zdGFudGlhdGlvbi4KCjIwMDItMDQtMTkgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCiAgICAgICAgKiBjb25maWcvbGlua2VyLW1hcC5nbnUgKF9fbWFsbG9jX2FsbG9jX3RlbXBsYXRlKTogQWRkLgogICAgICAgIChfX2RlZmF1bHRfYWxsb2NfdGVtcGxhdGUpOiBTYW1lLiAgICAgICAKICAgICAgICAqIGluY2x1ZGUvYml0cy9zdGxfYWxsb2MuaCAoX19tYWxsb2NfYWxsb2NfdGVtcGxhdGUpOiBBZGQgZXh0ZXJuCiAgICAgICAgdGVtcGxhdGUuCiAgICAgICAgKF9fZGVmYXVsdF9hbGxvY190ZW1wbGF0ZSk6IFNhbWUuCgoyMDAyLTA0LTE5ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgogICAgICAgICogc3JjL2NvbmNlcHQtaW5zdC5jYyAodmVjdG9yPGxvY2FsZTo6ZmFjZXQqPik6IFJlbW92ZSBpbnN0YW50aWF0aW9ucy4KICAgICAgICAqIHNyYy9zdGwtaW5zdC5jYyAodmVjdG9yOjpfTV9pbnNlcnRfYXV4KTogUmVtb3ZlIGluc3RhbnRpYXRpb24uCiAgICAgICAgKF9fbWFsbG9jX2FsbG9jX3RlbXBsYXRlKTogQ29uZGl0aW9uYWxpemUuCgogICAgICAgICogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjOiBSZW1vdmUgc3B1dGJhY2tjIGNhbGxzLgoKICAgICAgICAqIHRlc3RzdWl0ZS8xOV9kaWFnbm9zdGljcy9zdGRleGNlcHRpb25zLmNjOiBGaXggY29tbWVudC4KCjIwMDItMDQtMTkgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglQUiBsaWJzdGRjKysvNDE2NAoJVmFsZ3JpbmQgZml4ZXMuCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX3N0ZGlvLmNjIChfX2Jhc2ljX2ZpbGU6On5fX2Jhc2ljX2ZpbGUpOgoJQ2FsbCBjbG9zZS4KCShfX2Jhc2ljX2ZpbGU6OmNsb3NlKTogQ2FsbCBmZmx1c2guIENvcnJlY3QgcmV0dXJuIGlmIGZjbG9zZSBvay4gCgkoX19iYXNpY19maWxlOjppc19vcGVuKTogTWFrZSBjb25zdC4KCUNoYW5nZSBfX2NfZmlsZV90eXBlIHRvIF9fY19maWxlLgoJKiBjb25maWcvaW8vYmFzaWNfZmlsZV9zdGRpby5oOiBDaGFuZ2UgX19jX2ZpbGVfdHlwZSB0byBfX2NfZmlsZS4KCShfX2Jhc2ljX2ZpbGU6OmlzX29wZW4pOiBNYWtlIGNvbnN0LgoJKiBjb25maWcvaW8vY19pb19zdGRpby5oOiBDaGFuZ2UgX19jX2ZpbGVfdHlwZSB0byBfX2NfZmlsZS4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoZmlsZWJ1Zjo6X01fYWxsb2NhdGVfZmlsZSk6IFJlbW92ZS4KCShmaWxlYnVmOjpfTV91bmJ1Zik6IEFkZC4KCShmaWxlYnVmOjpfTV9maWxlKTogQ2hhbmdlIHRvIG5vbi1wb2ludGVyLgoJKGZpbGVidWY6Ol9NX2FsbG9jYXRlX3BiYWNrX2J1ZmZlcik6IFJlbW92ZS4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChmaWxlYnVmOjpfTV9hbGxvY2F0ZV9maWxlKTogUmVtb3ZlLgoJKGZpbGVidWY6Ol9NX2FsbG9jYXRlX2ludGVybmFsX2J1ZmZlcik6IFVzZSBfTV91bmJ1Zi4KCUNoYW5nZSBpbml0aWFsaXphdGlvbiBsaXN0IGZvciBfTV9maWxlIGNoYW5nZS4KCShmaWxlYnVmOjpfTV9hbGxvY2F0ZV9wYmFja19idWZmZXIpOiBSZW1vdmUuCglDaGFuZ2UgX01fZmlsZSB1c2FnZSB0byByZWZsZWN0IG5vbi1wb2ludGVyIGRhdGEgbWVtYmVyLgoKCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2NfbG9jYWxlLmNjCgkobG9jYWxlOjpmYWNldDo6X1NfY3JlYXRlX2NfbG9jYWxlKTogQWRkIHBhcmFtZXRlci4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2NvbGxhdGVfbWVtYmVycy5jYzogQ2hhbmdlCglfTV9jb21wYXJlX2hlbHBlciB0byBfTV9jb21wYXJlLgoJQ2hhbmdlIF9NX3RyYW5zZm9ybV9oZWxwZXIgdG8gX01fdHJhbnNmb3JtLgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvbW9uZXRhcnlfbWVtYmVycy5jYzogQ2hhbmdldXAgZGF0YSB0eXBlcy4KCUFkZCBkdG9ycy4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL251bWVyaWNfbWVtYmVycy5jYzogQWRkIGR0b3JzLgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvdGltZV9tZW1iZXJzLmNjOiBBZGQgZHRvcnMuCgkqIGNvbmZpZy9sb2NhbGUvZ251L2NfbG9jYWxlLmNjOiBBZGQgcGFyYW1ldGVyLgoJKiBjb25maWcvbG9jYWxlL2dudS9jb2xsYXRlX21lbWJlcnMuY2M6Q2hhbmdlCglfTV9jb21wYXJlX2hlbHBlciB0byBfTV9jb21wYXJlLgoJQ2hhbmdlIF9NX3RyYW5zZm9ybV9oZWxwZXIgdG8gX01fdHJhbnNmb3JtLgoJKiBjb25maWcvbG9jYWxlL2dudS9jdHlwZV9tZW1iZXJzLmNjOiBCZXR0ZXIgZXJyb3IgY2hlY2tpbmcuCgkqIGNvbmZpZy9vcy9nbnUtbGludXgvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogQmV0dGVyIGVycm9yIGNoZWNraW5nLgoJKiBjb25maWcvbG9jYWxlL2dudS9tZXNzYWdlc19tZW1iZXJzLmNjOiBUd2VhayBjb21tZW50LgoJKiBjb25maWcvbG9jYWxlL2dudS9tb25ldGFyeV9tZW1iZXJzLmNjOiBDaGFuZ2UgZGF0YSB0eXBlcy4KCUFkZCBkdG9ycy4KCSogY29uZmlnL2xvY2FsZS9nbnUvbnVtZXJpY19tZW1iZXJzLmNjOiBBZGQgZHRvcnMsIGJldHRlciBlcnJvcgoJY2hlY2tpbmcuCgkqIGNvbmZpZy9sb2NhbGUvZ251L3RpbWVfbWVtYmVycy5jYzogU2FtZS4KCSogY29uZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDAxL2NfbG9jYWxlLmNjCgkobG9jYWxlOjpmYWNldDo6X1NfY3JlYXRlX2NfbG9jYWxlKTogQWRkIHBhcmFtZXRlci4KCSogY29uZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDAxL2NfbG9jYWxlLmg6IENvcnJlY3QgdHlwZWRlZi4KCSogY29uZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDAxL2NvZGVjdnRfc3BlY2lhbGl6YXRpb25zLmg6IFJlbW92ZQoJYm9ndXMgY3Rvci4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKG1vbmV5cHVuY3QpOiBVc2Ugc3RyaW5nIGxpdGVyYWxzLgoJRG9uJ3QgZGVmaW5lIGR0b3IuCgkobnVtcHVuY3QpOiBTYW1lLgoJKF9fdGltZXB1bmN0KTogU2FtZS4KCShsb2NhbGU6Ol9JbXBsOjpfTV9mYWNldHMpOiBDaGFuZ2UgZnJvbSB2ZWN0b3IgdG8gYXJyYXkuCgkobG9jYWxlOjpfSW1wbDo6X01fbmFtZXMpOiBDaGFuZ2UgZnJvbSBhcnJheSBvZiBzdHJpbmdzIHRvIGFycmF5CglvZiBzdHJpbmcgbGl0ZXJhbHMuCgkobG9jYWxlOjpmYWNldDo6X1NfY3JlYXRlX2NfbG9jYWxlKTogQWRkIHBhcmFtZXRlci4KCShsb2NhbGU6OmxvY2FsZTo6X1NfbnVtX2ZhY2V0cyk6IE1vdmUgdG8uLi4KCShsb2NhbGU6Ol9JbXBsOjpfTV9mYWNldHNfc2l6ZSk6IEhlcmUuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYzogRml4dXBzIGZvciBfTV9mYWNldHMsIF9NX25hbWUKCWNoYW5nZXMuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVmd2QuaDogKGxvY2FsZTo6aWQ6Ol9NX2lkKTogQWRkIG1lbWJlciBmdW5jdGlvbi4KCShsb2NhbGU6Ol9JbXBsOjpfSW1wbChmYWNldCoqLCBzaXplX3QsIGJvb2wpKTogQWRkLgoJKGxvY2FsZTo6X0ltcGw6Ol9JbXBsKHN0cmluZywgc2l6ZV90KSk6IENoYW5nZSB0bwoJKGxvY2FsZTo6X0ltcGw6Ol9JbXBsKGNvbnN0IGNoYXIqLCBzaXplX3QpKTogVGhpcy4KCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjIChzdHJlYW1idWY6Ol9TX3BiYWNrX3NpemUpOiBEZWZpbmUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaCAoc3RyZWFtYnVmOjpfTV9wYmFja19zaXplKTogQ2hhbmdlIHRvCgkoc3RyZWFtYnVmOjpfU19wYmFja19zaXplKTogVGhpcy4KCgkqIHNyYy9nbG9iYWxzLmNjOiBBZGQgcHJlLWFsbG9jYXRpb25zIGZvciAiQyIgZmFjZXRzLgoJKiBzcmMvbG9jYWxlLWluc3QuY2M6IFJlbW92ZSB2ZWN0b3IgaW5zdGFudGlhdGlvbnMuCgkqIHNyYy9sb2NhbGUuY2M6IFJlbW92ZSB2ZWN0b3IgaW5jbHVkZS4gRml4dXBzIGZvciBfTV9uYW1lcywKCV9NX2ZhY2V0cyBjaGFuZ2VzLgoJKiBzcmMvbG9jYWxlbmFtZS5jYzogU2FtZS4KCgkqIGluY2x1ZGUvYml0cy9zdGxfdmVjdG9yLmg6IEZpeCBvZGQgZm9ybWF0dGluZy4KCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcudGNjOiBUd2VhayBjb21tZW50LgoKCSogbGlic3VwYysrL25ldzogTWFrZSBzdXJlIHBhcmFtZXRlcnMgYXJlIHVnbGlmaWVkLgoJKiBsaWJzdXBjKysvdHlwZWluZm86IFNhbWUuCgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXRfbWVtYmVyc19jaGFyLmNjOiBGaXh1cC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0X21lbWJlcnNfd2NoYXJfdC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2ZpbGVidWZfbWVtYmVycy5jYzogU2FtZS4KCQoyMDAyLTA0LTE3ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2RveHlnZW4vZG94eWdyb3Vwcy5jYzogIE5ldyBncm91cCBvbiBiaW5hcnkgc2VhcmNoaW5nLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2FsZ28uaDogIERvY3VtZW50IGJpbmFyeSBzZWFyY2hlcyBhbmQgbWVyZ2VzLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2RlcXVlLmg6ICBUaGUgJ21hcCcgbWVtYmVyIGlzIG5vdCB0aGUgJ21hcCcgY2xhc3MuCgoyMDAyLTA0LTE3ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2RveHlnZW4vbWFpbnBhZ2UuaHRtbDogIERveHlnZW4gbG9nbyBpcyBub3cgYSBQTkcgZmlsZS4KCSogZG9jcy9kb3h5Z2VuL3J1bl9kb3h5Z2VuOiAgQnVtcCByZXF1aXJlZCB2ZXJzaW9uLgoJKiBkb2NzL2RveHlnZW4vdXNlci5jZmcuaW46ICBSZXZlcnQgYWNjaWRlbnRhbCBjaGFuZ2UuCgkqIGRvY3MvaHRtbC9mYXEvaW5kZXguaHRtbDogIFJlaW5kZW50IGEgYmxvY2sgb2YgbGlua3MuCgkoNC40KTogIE5ldyBub3RlIG9uIHVzaW5nIGRsc3ltLgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4LnR4dDogIFJlZ2VuZXJhdGVkLgoKMjAwMi0wNC0xNiAgUGFvbG8gQ2FybGluaSA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlLzI0X2l0ZXJhdG9ycy9yZWxfb3BzLmNjOiBOZXcgdGVzdC4KCQoyMDAyLTA0LTE2ICBHYWJyaWVsIERvcyBSZWlzICA8Z2RyQG1lcmxpbi5jb2Rlc291cmNlcnkuY29tPgoKCSogaW5jbHVkZS9iaXRzL3R5cGVfdHJhaXRzLmggKF9fbm9ybWFsX2l0ZXJhdG9yKTogRGVjbGFyZSBpbgoJX19nbnVfY3h4LiAgQWRqdXN0IHVzZSBhdCBnbG9iYWwgbmFtZXNwYWNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2l0ZXJhdG9yLmggKF9fbm9ybWFsX2l0ZXJhdG9yKTogTW92ZSBkZWZpbml0aW9uCglpbnRvIF9fZ251X2N4eDo6LiBBZGQgbW9yZSBvcGVyYXRvciBvdmVybG9hZHMuICBUaWR5IGV4aXN0aW5nIG9uZXMuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcuaCAoYmFzaWNfc3RyaW5nKTogQWRqdXN0IHVzZSBvZgoJX19ub3JtYWxfaXRlcmF0b3IuCgkqIGluY2x1ZGUvYml0cy9zdGxfdmVjdG9yLmggKF9BbGxvYz4pOiBMaWtld2lzZS4KCSogc3JjL2NvbmNlcHQtaW5zdC5jYyAoX19nbnVfY3h4KTogX19ub3JtYWxfaXRlcmF0b3I8PiBpcyBub3cgaGVyZS4KCSogc3JjL2xvY2FsZS1pbnN0LmNjIChfX2dudV9jeHgpOiBMaWtld2lzZS4KCSogc3JjL3N0cmluZy1pbnN0LmNjIChvcGVyYXRvcj09KTogSW5zdGFudGlhdGUgaW4gX19nbnVfY3h4LgoKMjAwMi0wNC0xNSAgU3RldmUgRWxsY2V5ICA8c2plQGN1cC5ocC5jb20+CgoJKiBnY2MvbGlic3RkYysrLXYzL2NvbmZpZy9vcy9ocHV4L2JpdHMvb3NfZGVmaW5lcy5oCgkoc3RydG9sbCwgc3RydG91bGwpOiBJbiA2NCBiaXQgbW9kZSBIUC1VWCAoSUE2NCBhbmQgSFBQQSkKCWRvZXMgbm90IGRlZmluZSBzdHJ0b2xsIG9yIHN0cnRvdWxsLCBidXQgZG9lcyBkZWZpbmUgc3RydG9sCglhbmQgc3RydG91bCB3aGljaCBhcmUgdGhlIHNhbWUgc2luY2UgaW4gNjQgYml0IG1vZGUKCXNpemVvZihsb25nKSA9PSBzaXplb2YobG9uZyBsb25nKS4KCjIwMDItMDQtMTIgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9iaXRzZXQuaDogIERveHlnZW5hdGUgc3RkOjpiaXRzZXQ8Pi4gIENsZWFuIHVwCgl0cmFpbGluZyBzcGFjZXMsIGluZGVudGF0aW9uLCBhbmQgbWFjcm8gbmFtZXMuICBNYWtlIGV4Y2VwdGlvbgoJbWVzc2FnZXMgbW9yZSBpbmZvcm1hdGl2ZS4KCjIwMDItMDQtMTEgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGJhc2ljX2ZpbGVidWY8Pjo6b3Blbik6IEZpeCAmIG9yZGVyaW5nLgoJKiBpbmNsdWRlL2JpdHMvb3N0cmVhbS50Y2MgKGJhc2ljX29zdHJlYW08Pjo6b3BlcmF0b3I8PChsb25nKSk6IFNhbWUuCgkoYmFzaWNfb3N0cmVhbTw+OjpvcGVyYXRvcjw8KGxvbmcgbG9uZykpOiBTYW1lLgoKMjAwMi0wNC0xMSAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogQWRkIF9fZ3h4X3BlcnNvbmFsaXR5X3NqMC4KCjIwMDItMDQtMDkgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglsaWJzdGRjKysvMTA3MgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlZndkLmggKGxvY2FsZTo6X0ltcGw6Ol9NX2ZhY2V0cyk6IENoYW5nZSBmcm9tCglwb2ludGVyIHRvIHZlY3Rvci4KCVJlbW92ZSBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mIHZlY3Rvci4KCUluY2x1ZGUgdmVjdG9yLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2M6IFJlbW92ZSB2ZWN0b3IgaW5jbHVkZS4KCSh1c2VfbG9jYWxlKTogQWRqdXN0LgoJKGhhc19sb2NhbGUpOiBBZGp1c3QuCgkqIHNyYy9sb2NhbGUuY2M6IEFkanVzdC4KCSogc3JjL2xvY2FsZW5hbWUuY2M6IFNhbWUuCgkKMjAwMi0wNC0wOSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoJICAgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvc3N0cmVhbS50Y2M6IENsZWFuIHVwIGJpdCBvcHMuCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYzogU2FtZS4KCjIwMDItMDQtMDkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMuaCAoX19udW1fYmFzZTo6X1Nfc2NhbGVfaGV4KTogUmVtb3ZlLgoJKF9fbnVtX2Jhc2U6Ol9TX3NjYWxlX29jdCk6IFJlbW92ZS4KCSogc3JjL2xvY2FsZS5jYyAoX19udW1fYmFzZTo6X1Nfc2NhbGVfaGV4KTogUmVtb3ZlLgoJKF9fbnVtX2Jhc2U6Ol9TX3NjYWxlX29jdCk6IFJlbW92ZS4KCjIwMDItMDQtMDkgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglsaWJzdGRjKysvNjEyNAoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9iaXRzZXRfbWVtYmVycy5jYzogTmV3IHRlc3QuCgkqIGluY2x1ZGUvc3RkL3N0ZF9iaXRzZXQuaCAoX0JpdF9jb3VudDo6X1NfYml0X2NvdW50KTogTW92ZS4uCgkoX1NfYml0X2NvdW50KTogSGVyZS4KCShfRmlyc3Rfb25lOjpfU19maXJzdF9vbmUpOiBNb3ZlLi4uCgkoX1NfZmlyc3Rfb25lKTogSGVyZS4KCUZvcm1hdC4KCSogc3JjL2JpdHNldC5jYzogQWRqdXN0LgoJKiBjb25maWcvbGlua2VyLW1hcC5nbnU6IEV4cG9ydC4KCQoyMDAyLTA0LTA4ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJbGlic3RkYysrLzUxODAKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChmaWxlYnVmOjpzZWVrcG9zKTogRml4LgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oOiBDbGVhbi4KCSogaW5jbHVkZS9iaXRzL29zdHJlYW0udGNjOiBSZW1vdmUgZXh0cmFuZW91cyB2YXJpYWJsZXMuCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYyAoc3RyaW5nYnVmOjpzZWVrb2ZmKTogQmUgc3RyaWN0IGFib3V0CglvcGVuIG1vZGVzIGFuZCB3aGljaCBtb2Rlcy4KCShzdHJpbmdidWY6OnNlZWtwb3MpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vc3RyaW5nYnVmX3ZpcnR1YWxzLmNjOiBOZXcgdGVzdHMuCgkKMjAwMi0wNC0wNSAgSm9uYXRoYW4gV2FrZWx5IDxqd0BrYXlhcmkub3JnPgoKCSogaW5jbHVkZS9iaXRzL3N0bF9hbGdvLmggKHVuaXF1ZV9jb3B5LCBfX2djZCwgcm90YXRlLCByb3RhdGVfY29weSwKCXJhbmRvbV9zaHVmZmxlLCBwYXJ0aXRpb24sIHN0YWJsZV9wYXJ0aXRpb24sIHNvcnQsIHN0YWJsZV9zb3J0LAoJcGFydGlhbF9zb3J0LCBwYXJ0aWFsX3NvcnRfY29weSwgbnRoX2VsZW1lbnQpOiAgRG94eWdlbmF0ZS4KCjIwMDItMDQtMDUgIERhdmlkIFMuIE1pbGxlciAgPGRhdmVtQHJlZGhhdC5jb20+CgoJKiBjb25maWcvb3MvZ251LWxpbnV4L2JpdHMvb3NfZGVmaW5lcy5oCgkoX19nbGliY3BwX2xvbmdfZG91YmxlX2JpdHMpOiBTZXQgdG8gNjQgb24gMzItYml0IFNwYXJjLgoKMjAwMi0wNC0wNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCWxpYnN0ZGMrKy8zNDU3IAoJdmlhIGdhd3JpbG93QG1hdGgudHUtYmVybGluLmRlCgkqIGFjaW5jbHVkZS5tNCAodmVyc2lvbl9zcGVjaWZpY19saWJzKTogRml4IGNvbWJvIHVzYWdlIHdpdGgKCS0td2l0aC1neHgtaW5jbHVkZS1kaXIuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogU2FtZS4KCQoyMDAyLTA0LTAzICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgogICAgICAgIEFzIHBlciBEUiAxODQsIGxpYnN0ZGMrKy8zMTM5CiAgICAgICAgKiBpbmNsdWRlL3N0ZC9zdGRfbGltaXRzLmggKF9fZ2xpYmNwcF9ib29sX2RpZ2l0cyk6IENoYW5nZSB0byAxLgogICAgICAgIChudW1lcmljX2xpbWl0czxib29sPjo6aXNfaWVjNTU5KTogRmFsc2UuCiAgICAgICAgKG51bWVyaWNfbGltaXRzPGJvb2w+Ojppc19tb2R1bG8pOiBGYWxzZS4gICAgICAgCgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX2luaXQuY2M6IEFkZCBpbnN0YW50aWF0aW9ucy4KCjIwMDItMDQtMDIgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCQoJbGlic3RkYysrLzUyNjgKCSogc3JjL2lvcy5jYzogKGlvc19iYXNlOjpJbml0OjpfU19pb3NfZGVzdHJveSk6IFJlbW92ZSBmbHVzaCBjYWxscy4KCSogdGVzdHN1aXRlLzI3X2lvL2lvc19pbml0LmNjICh0ZXN0czA0KTogQWRkIHRlc3QuCgoJbGlic3RkYysrLzM5ODMKCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy5oIChiYXNpY19pb3M6Ol9NX2dldF9mY3R5cGVfaW9zKTogUmVtb3ZlLgoJKGJhc2ljX2lvczo6X01faW9zX2ZjdHlwZSk6IENvbnNpc3RlbnRseSBuYW1lIHRvIF9NX2ZjdHlwZS4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy50Y2M6IFNhbWUuIFJlbW92ZSBvdXRkYXRlZCBjb21tZW50cy4KCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjOiBVc2UgX01fZmN0eXBlLCBtYWtlIGNvbnNpc3RlbnQgd2l0aAoJb3N0cmVhbS4KCSogdGVzdHN1aXRlLzI3X2lvL2lvc19pbml0LmNjICh0ZXN0czAzKTogQWRkIHRlc3QuCgkKMjAwMi0wNC0wMiAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogaW5jbHVkZS9NYWtlZmlsZS5hbSAoaW5zdGFsbC1kYXRhLWxvY2FsKTogIFVzZSBta2luc3RhbGxkaXJzLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiAgUmVnZW5lcmF0ZS4KCjIwMDItMDQtMDEgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglsaWJzdGRjKysvNTU0MgoJKiBhY2luY2x1ZGU6IE1vcmUgZXh0ZW5zaXZlIGNoZWNrcyBmb3IgbXNnZm10LCAtLWVuYWJsZS1ubHMuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDItMDQtMDEgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGxpYnN1cGMrKy9leGNlcHRpb24gKF9fdmVyYm9zZV90ZXJtaW5hdGVfaGFuZGxlcik6ICBQb2ludCB0byBkb2NzLgoJKiBkb2NzL2RveHlnZW4vZG94eWdyb3Vwcy5jYzogIERveHlnZW4gaG9va3MgZm9yIGFiaTo6X19jeGFfZGVtYW5nbGUuCgkqIGRvY3MvaHRtbC8xOF9zdXBwb3J0L2hvd3RvLmh0bWw6ICBEb2N1bWVudCB0aGUgZGVtYW5nbGVyLgoJKiBkb2NzL2h0bWwvMTdfaW50cm8vaG93dG8uaHRtbDogIEFuZCBsaW5rIHRvIGl0LgoKCSogZG9jcy9kb3h5Z2VuL21haW5wYWdlLmh0bWw6ICBEZXNjcmliZSB1c2VyLXZzLW1haW50YWluZXIgZG9jcy4KCSogZG9jcy9kb3h5Z2VuL3J1bl9kb3h5Z2VuOiAgUHJpbnQgdXNlci12cy1tYWludGFpbmVyLgoKMjAwMi0wNC0wMSAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogaW5jbHVkZS9iaXRzL2MrK2NvbmZpZzogIEZpeCBtaXNwbGFjZWQgbGVhZGluZyBibGFua3Mgb24gZmlyc3QgbGluZS4KCjIwMDItMDQtMDEgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogIEV4cG9ydCBfX3ZlcmJvc2VfdGVybWluYXRlX2hhbmRsZXIuCgkqIGxpYnN1cGMrKy9NYWtlZmlsZS5hbSAoc291cmNlcyk6ICBBZGQgY3hhX2RlbWFuZ2xlLmMsIGR5bi1zdHJpbmcuYy4KCU1ha2UgbmV3IExUQ09NUElMRSB2YXJpYWJsZSwgdXNlIGl0IGluIG5ldyBzcGVjaWFsIGJ1aWxkIHJ1bGVzLgoJKiBsaWJzdXBjKysvTWFrZWZpbGUuaW46ICBSZWJ1aWxkLgoJKiBzcmMvdnRlcm1pbmF0ZS5jYyAoX192ZXJib3NlX3Rlcm1pbmF0ZV9oYW5kbGVyKTogIEVuYWJsZSB1c2Ugb2YKCXJ1bnRpbWUgX19jeGFfZGVtYW5nbGUuCgoJKiBkb2NzL2h0bWwvaW5zdGFsbC5odG1sOiAgVXBkYXRlIHByZXJlcXMgYW5kIGluc3RydWN0aW9ucy4KCSogZG9jcy9odG1sLzE5X2RpYWdub3N0aWNzL2hvd3RvLmh0bWw6ICBCcmluZyBuYW1pbmcgZm9yCgl2ZXJib3NlX3Rlcm1pbmF0ZV9oYW5kbGVyIGludG8gbGluZSB3aXRoIHJlYWxpdHkuCgoyMDAyLTA0LTAxICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgkKCWxpYnN0ZGMrKy8zMTI5CgkqIGluY2x1ZGUvYml0cy9iYXNpY19pb3MuaCAoYmFzaWNfaW9zOjpfTV9leGNlcHRpb24pOiBNb3ZlLgoJKGJhc2ljX2lvczo6X01fc3RyZWFtYnVmX3N0YXRlKTogTW92ZS4JCgkqIGluY2x1ZGUvYml0cy9pb3NfYmFzZSAoaW9zX2Jhc2UpOiBUbyBoZXJlLgoJKiBpbmNsdWRlL2JpdHMvaW9zX2Jhc2UuaCAoaW9zX2Jhc2U6Ol9TX2xvY2FsX3dvcmRzKTogVG8KCV9TX2xvY2FsX3dvcmRfc2l6ZS4KCShpb3NfYmFzZTo6X01fd29yZF9hcnJheSk6IFRvIF9NX2xvY2FsX3dvcmQuCgkoaW9zX2Jhc2U6Ol9NX3dvcmRzX2xpbWl0KTogVG8gX01fd29yZF9zaXplLgkKCShpb3NfYmFzZTo6X01fd29yZHMpOiBUbyBfTV93b3JkLgkJCglDb21tZW50LgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfaW9zLnRjYzogQWRqdXN0LgkKCSogc3JjL2lvcy5jYyAoaW9zX2Jhc2U6Ol9NX2dyb3dfd29yZHMpOiBUd2Vhay4KCSogdGVzdHN1aXRlLzI3X2lvL2lvc19iYXNlX3N0b3JhZ2UuY2M6IEFkZCB0ZXN0cy4KCglsaWJzdGRjKysvNTIwNwoJS2VubnkgU2ltcHNvbiA8dGhlb25ldHJ1ZWtlbm55QHlhaG9vLmNvbT4KCSogaW5jbHVkZS9iaXRzL2lvc19iYXNlLmg6IEZpeC4KCQoJUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCSogaW5jbHVkZS9iaXRzL29zdHJlYW0udGNjIChvc3RyZWFtOjpvcGVyYXRvcjw8KF9DaGFyVCkpOiBDb3JyZWN0CglsYXN0IGNoYW5nZS4KCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcuaDogVHdlYWsgZm9ybWF0dGluZy4KCQoyMDAyLTA0LTAxICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogY29uZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDAxL2NvZGVjdnRfc3BlY2lhbGl6YXRpb25zLmgKCShjb2RlY3Z0Ojpkb19vdXQsIGNvZGVjdnQ6OmRvX3Vuc2hpZnQsIGNvZGVjdnQ6OmRvX2luKToKCUJ5IGRlZmluaXRpb24sIHNpemVvZihjaGFyKSA9PSAxLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG1vbmV5X2dldDo6ZG9fZ2V0LAoJbW9uZXlfcHV0Ojpkb19wdXQpOiBEaXR0by4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvaW5zZXJ0ZXJzX2V4dHJhY3RvcnMuY2MKCSh0ZXN0MDQpOiBEaXR0by4KCjIwMDItMDMtMzAgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJUFIgYysrLzM3MTkKCSogbGlic3VwYysrL2VoX3BlcnNvbmFsaXR5LmNjIChfX2N4YV9jYWxsX3VuZXhwZWN0ZWQpOiBDb3B5IGhhbmRsZXIKCWRhdGEgb3V0IG9mIHRoZSBleGNlcHRpb24gc3RydWN0IGJlZm9yZSBjYWxsaW5nIHVuZXhwZWN0ZWRIYW5kbGVyLgoKMjAwMi0wMy0yOCAgUm9nZXIgU2F5bGUgIDxyb2dlckBleWVzb3Blbi5jb20+CgoJKiBpbmNsdWRlL2Nfc3RkL3N0ZF9jbWF0aC5oOiAgVG8gcHJldmVudCBwcm9ibGVtcyBvdmVybG9hZGluZwoJZysrIGJ1aWx0aW5zLCB1c2UgdGhlIGRvdWJsZSB2YXJpYW50cyBmcm9tIHRoZSBnbG9iYWwgbmFtZXNwYWNlCgliZWZvcmUgZGVmaW5pbmcgZmxvYXQgYW5kIGxvbmcgZG91YmxlIHZhcmlhbnRzIGluIHN0ZDo6LgoKMjAwMi0wMy0yOCAgTG9yZW4gSi4gUml0dGxlIDxsanJpdHRsZUBhY20ub3JnPgoKCSogdGVzdHN1aXRlLzE4X3N1cHBvcnQvbnVtZXJpY19saW1pdHMuY2MgKHRlc3RfZXh0cmVtYSk6IEZpeCB0eXBvLgoKMjAwMi0wMy0yOCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yNF9pdGVyYXRvcnMvaXN0cmVhbV9pdGVyYXRvci5jYwoJKHRlc3QwMik6IE5ldyB0ZXN0cy4KCjIwMDItMDMtMjggIFVscmljaCBXZWlnYW5kICA8VWxyaWNoLldlaWdhbmRAZGUuaWJtLmNvbT4KICAgICAgICAgICAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dF9tZW1iZXJzX3VuaWNvZGVfd2NoYXJfdC5jYwoJKHRlc3QwMSk6IFByb3RlY3QgdGhlIHRlc3Qgd2l0aCBfR0xJQkNQUF9VU0VfV0NIQVJfVDsKCWZpeCBpX2xpdF9iYXNlIGVfbGl0X2Jhc2UgYXJyYXlzLCBtYWtpbmcgdGhlbSBpbmRlcGVuZGVudAoJZnJvbSB0aGUgZW5kaWFubmVzcyBvZiB0aGUgcGxhdGZvcm07IHR3ZWFrIFVDUzQgdG8gVUNTLTRCRS4KCjIwMDItMDMtMjcgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9vc3RyZWFtLnRjYyAob3N0cmVhbTo6b3BlcmF0b3I8PChfQ2hhclQpKTogQWx3YXlzCglhbGxvY2F0ZSBhdCBsZWFzdCBhIGJ5dGUuCgoJKiB0ZXN0c3VpdGUvMThfc3VwcG9ydC9udW1lcmljX2xpbWl0cy5jYyAodGVzdF9leHRyZW1hKTogTWFrZQoJZGVidWdnZXItZnJpZW5kbHkuCgkqIHRlc3RzdWl0ZS8yN19pby9zdHJlYW1idWYuY2MgKHRlc3QwNyk6IEZpeC4KCSh0ZXN0MDYpOiBFbmFibGUuCgoyMDAyLTAzLTI3ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJQnVsayBkb2N1bWVudGF0aW9uIG1lcmdlIChjb3B5KSBmcm9tIHRydW5rLgoJKiBkb2NzL2RveHlnZW4vSW50cm8uMywgZG9jcy9kb3h5Z2VuL1RPRE8sIGRvY3MvZG94eWdlbi9kb3h5Z3JvdXBzLmNjLAoJZG9jcy9kb3h5Z2VuL21haW5wYWdlLmh0bWwsIGRvY3MvZG94eWdlbi9ydW5fZG94eWdlbiwKCWRvY3MvZG94eWdlbi90YWJsZXMuaHRtbCwgZG9jcy9kb3h5Z2VuL3VzZXIuY2ZnLmluLAoJZG9jcy9odG1sL01ha2VmaWxlLCBkb2NzL2h0bWwvMTdfaW50cm8vaG93dG8uaHRtbCwKCWRvY3MvaHRtbC8xOV9kaWFnbm9zdGljcy9ob3d0by5odG1sLCBkb2NzL2h0bWwvMjBfdXRpbC9ob3d0by5odG1sOgoJTWVyZ2UgZnJvbSB0cnVuay4KCjIwMDItMDMtMjcgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnby5oOiAgUmVtb3ZlIEBtYWludCBhbmQgQGVuZG1haW50LgoJKiBpbmNsdWRlL2JpdHMvc3RsX2FsbG9jLmg6ICBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9jb25zdHJ1Y3QuaDogIExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2RlcXVlLmg6ICBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9pdGVyYXRvcl9iYXNlX3R5cGVzLmg6ICBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9saXN0Lmg6ICBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9yZWxvcHMuaDogIExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3RlbXBidWYuaDogIExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3ZlY3Rvci5oOiAgTGlrZXdpc2UuCgkqIGluY2x1ZGUvc3RkL3N0ZF9tZW1vcnkuaDogIExpa2V3aXNlLgoKCSogaW5jbHVkZS9iaXRzL3N0bF9kZXF1ZS5oOiAgUG9pbnQgaW50byB0YWJsZXMuaHRtbCBhbmQgYWRkIEBpbmdyb3VwLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2xpc3QuaDogIExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3ZlY3Rvci5oOiAgTGlrZXdpc2UuCgoyMDAyLTAzLTI2ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2MvOiBHdWFyZCB3aXRoIF9DUFBfLgoJKiBpbmNsdWRlL2Nfc3RkLzogU2FtZS4KCSogaW5jbHVkZS9NYWtlZmlsZS5hbTogRml4dXAgaW5zdGFsbCwgbGluayByb3V0aW5lcyBmb3IgbnVsbAoJY19iYXNlX2hlYWRlcnNfZXh0cmEgc2NlbmFyaW9zLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWdlcmF0ZS4KCjIwMDItMDMtMjUgIFBhb2xvIENhcmxpbmkgPHBjYXJsaW5pQHVuaXR1cy5pdD4KICAgICAgICAgICAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dF9tZW1iZXJzX3VuaWNvZGVfY2hhci5jYwoJKHRlc3QwMSwgdGVzdDAyKTogbWFrZSBzdXJlIHRoYXQgdGhlIGlfbGl0X2Jhc2UgYXJyYXkKCWlzIHN1ZmZpY2llbnRseSBhbGlnbmVkLgoKMjAwMi0wMy0yNSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKICAgICAgICAqIGNvbmZpZy9vcy9uZXdsaWIvYml0cy9jdHlwZV9ub25pbmxpbmUuaCAoY3R5cGU6OmNsYXNzaWMpOiBTZXQgdG8KICAgICAgICBfY3R5cGVfLgoKMjAwMi0wMy0yNSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZV9ieW5hbWUuY2MKCSh0ZXN0MDEpOiBjb21wYXJlIHRoZSByZXN1bHQgb2YgY29sbGF0ZTo6Y29tcGFyZSB3aXRoCgl0aGF0IG9mIGNvbGxhdGU6OnRyYW5zZm9ybSArIHN0cmluZzo6Y29tcGFyZSwgbm90IHdpdGgKCXRoYXQgb2YgY29sbGF0ZTo6dHJhbnNmb3JtICsgY29sbGF0ZTo6Y29tcGFyZTsgdmFsdWVzCglyZXR1cm5lZCBieSBjb2xsYXRlOjpjb21wYXJlIGFyZSBub3JtYWxpemVkLCB0aGVyZWZvcmUKCXRlc3QgYWdhaW5zdCArLTEuCgoyMDAyLTAzLTI1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCglQUiB0YXJnZXQvNTY3NgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfRU5BQkxFX1NKTEpfRVhDRVBUSU9OUyk6IFBhc3MgLWZleGNlcHRpb25zCglleHBsaWNpdGx5LgoJKiBhY2xvY2FsLm00OiBSZWJ1aWx0LgoJKiBjb25maWd1cmU6IFJlYnVpbHQuCgkqIGNvbmZpZ3VyZS50YXJnZXQgKG1jb3JlLSotcGUqKTogQWRkIC1mcnR0aSAtZm5vLWV4Y2VwdGlvbnMKCWJ5IGRlZmF1bHQgdG8gYysrIGZsYWdzLgoKMjAwMi0wMy0yNSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgogICAgICAgICAgICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy9sb2NhbGUvZ251L21lc3NhZ2VzX21lbWJlcnMuaDogQ29ycmVjdCBjb25kaXRpb25hbC4KCSogY29uZmlnL2xvY2FsZS9nbnUvbWVzc2FnZXNfbWVtYmVycy5jYzogU2FtZS4KCSogY29uZmlnL2xvY2FsZS9nbnUvdGltZV9tZW1iZXJzLmNjOiBTYW1lLgoKMjAwMi0wMy0yNSAgVWxyaWNoIFdlaWdhbmQgIDxVbHJpY2guV2VpZ2FuZEBkZS5pYm0uY29tPgogICAgICAgICAgICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0X21lbWJlcnNfdW5pY29kZV9jaGFyLmNjCgkodGVzdDAxLCB0ZXN0MDIpOiBGaXggaV9saXRfYmFzZSBhcnJheXMsIG1ha2luZyB0aGVtCglpbmRlcGVuZGVudCBmcm9tIHRoZSBlbmRpYW5uZXNzIG9mIHRoZSBwbGF0Zm9ybS4KCjIwMDItMDMtMjIgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9DSEVDS19DT01QTEVYX01BVEhfU1VQUCk6IEp1c3QgdGVzdCBmb3IKCXNpZ25iaXQgYW5kIF9fc2lnbmJpdCBkaXJlY3RseS4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBjb25maWcuaC5pbjogUmVnZW5lcmF0ZS4KCSogbGlibWF0aC9NYWtlZmlsZS5hbTogU2ltcGxpZnkuCgkqIGxpYm1hdGgvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NtYXRoLmg6IFVwZGF0ZSBwYXRocyBmb3IgaW5jbHVkZSBvZiBjbWF0aC50Y2MuCgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtOiBDbGVhbiB1cCBoYW5kbGluZyBvZiBleHRyYSAiQyIgaGVhZGVyIGZpbGVzLgoJQWRkIGhvb2tzIGZvciAiQyIgY29tcGF0aWJpbGl0eSBoZWFkZXJzLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKCSogaW5jbHVkZS9jLyo6IEZvcm1hdHRpbmcgdHdlYWtzLCBjbGVhbnVwcy4KCSogaW5jbHVkZS9jX3N0ZC8qOiBTYW1lLgoKMjAwMi0wMy0yMiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogY29uZmlnL2xvY2FsZS9nbnUvbWVzc2FnZXNfbWVtYmVycy5oOiBBZGQgX191c2Vsb2NhbGUgYml0cy4KCSogY29uZmlnL2xvY2FsZS9nbnUvbWVzc2FnZXNfbWVtYmVycy5jYzogU2FtZS4KCSogY29uZmlnL2xvY2FsZS9nbnUvdGltZV9tZW1iZXJzLmNjOiBTYW1lLgoKMjAwMi0wMy0yMiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogc3JjL3Z0ZXJtaW5hdGUuY2M6IEZvcm1hdCwgLWZuby1leGNlcHRpb25zIGNsZWFudXAuCgoyMDAyLTAzLTIxICBSYWluZXIgT3J0aCAgPHJvQFRlY2hGYWsuVW5pLUJpZWxlZmVsZC5ERT4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9DSEVDS19TVERMSUJfREVDTF9BTkRfTElOS0FHRV8zKTogTmV3LgoJKEdMSUJDUFBfQ09ORklHVVJFX1RFU1RTVUlURSk6IFVzZSBpdCB0byBjaGVjayBmb3Igc2V0ZW52LgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmU6IExpa2V3aXNlLgoKMjAwMi0wMy0xOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KICAgICAgICAgICAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzcmMvbG9jYWxlLWluc3QuY2MgKF9fY29udmVydF9mcm9tX3YpOiBBZGQgYW4gYWRkaXRpb25hbAoJX19zaXplIHBhcmFtZXRlciBpbiB0aGUgZGVjbGFyYXRpb25zLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MKCShfX2NvbnZlcnRfZnJvbV92KTogV2hlbiBhdmFpbGFibGUgKHRoYXQgaXMsCglfR0xJQkNQUF9VU0VfQzk5IGRlZmluZWQpIHVzZSBzbnByaW50ZiBpbnN0ZWFkIG9mIHNwcmludGYuCgkobnVtX3B1dDo6X01fY29udmVydF9mbG9hdCk6IERlcGVuZGluZyBvbiBfR0xJQkNQUF9VU0VfQzk5CgliZWluZyBkZWZpbmVkIG9yIG5vdCwgY2FsbCBhbmQgdXNlIF9fY29udmVydF9mcm9tX3YgaW4gdGhlCglhcHByb3ByaWF0ZSB3YXkuCgkobnVtX3B1dDo6X01fY29udmVydF9pbnQpOiBTYW1lIGhlcmUuCgkobW9uZXlfcHV0Ojpkb19wdXQobG9uZyBkb3VibGUpKTogU2FtZSBoZXJlLgoKMjAwMi0wMy0xOSAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogZG9jcy9odG1sL2ZhcS9pbmRleC5odG1sICgjMy42KTogIFJld3JhcCBhbmQgY2xvc2UgPGEgaHJlZj4gdGFncy4KCSogZG9jcy9odG1sL2ZhcS9pbmRleC50eHQ6ICBSZWdlbmVyYXRlLgoKMjAwMi0wMy0xOSAgU3RldmUgRWxsY2V5ICA8c2plQGN1cC5ocC5jb20+CgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfRU5BQkxFX0xJQlVOV0lORF9FWENFUFRJT05TKTogRGVmaW5lCglHTElCQ1BQX0VOQUJMRV9MSUJVTldJTkRfRVhDRVBUSU9OUyB0byBzZXQgTElCVU5XSU5EX0ZMQUcgaWYKCS0tZW5hYmxlLWxpYnVud2luZC1leGNlcHRpb25zIGlzIHNldC4KCSogY29uZmlndXJlLmluIChHTElCQ1BQX0VOQUJMRV9MSUJVTldJTkRfRVhDRVBUSU9OUyk6IENhbGwgbmV3CgltYWNybyB0byBjaGVjayBmb3IgbGlidW53aW5kLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIHNyYy9NYWtlZmlsZS5hbSAobGlic3RkY19fX2xhX0xERkxBR1MpOiBBZGQKCUxJQlVOV0lORF9GTEFHIHRvIGxpYnN0ZGMgbGluayBsaW5lLgoJKiBzcmMvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDAyLTAzLTE5ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4Lmh0bWw6IEFkZCBPUyBYIHdvcmthcm91bmQuCgkqIGRvY3MvaHRtbC8xN19pbnRyby9UT0RPOiBVcGRhdGUuCgoyMDAyLTAzLTE4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjCgkobW9uZXlfcHV0Ojpkb19wdXQobG9uZyBkb3VibGUpKTogRml4IGRpbWVuc2lvbmluZyBvZgoJdGVtcG9yYXJ5IGJ1ZmZlcnMgdG8gYXZvaWQgcmlzayBvZiBvdmVycnVucy4KCShtb25leV9wdXQ6OmRvX3B1dChzdHJpbmcpKTogU2FtZSBmb3IgdGhlIGJ1ZmZlciB1c2VkIHRvCglhZGQgdGhlIGdyb3VwaW5nIGNoYXJzLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X3B1dF9tZW1iZXJzX2NoYXIuY2M6IEFkZCB0ZXN0MDYuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0X21lbWJlcnNfd2NoYXJfdC5jYzogRGl0dG8uCgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MKCShjb2xsYXRlOjpkb190cmFuc2Zvcm0pOiBTaW1wbGlmeS4KCjIwMDItMDMtMTggIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9DT05GSUdVUkUpOiAgTWFrZSBpbmRlbnRhdGlvbi9zcGFjaW5nIHVuaWZvcm0uCgkqIGNvbmZpZ3VyZS5pbjogIEFkZCBjb21tZW50cyBwb2ludGluZyB0aGUgd2F5IGZvciBhdXRvY29uZiAyLjV4LgoJKiBhY2xvY2FsLm00LCBjb25maWcuaC5pbiwgY29uZmlndXJlOiAgUmVnZW5lcmF0ZS4KCjIwMDItMDMtMTggIFBoaWxpcHAgVGhvbWFzICA8cHRob21hc0BzdXNlLmRlPgoKCSogaW5jbHVkZS9iYWNrd2FyZC9oYXNoX21hcC5oOiBoYXNoLCBoYXNodGFibGUsIGhhc2hfbWFwIGFuZAoJaGFzaF9tdWx0aW1hcCBhcmUgaW4gbmFtZXNwYWNlIF9fZ251X2N4eC4KCWluY2x1ZGUvYmFja3dhcmQvaGFzaF9zZXQuaDogaGFzaCwgaGFzaHRhYmxlLCBoYXNoX3NldCBhbmQKCWhhc2hfbXVsdGlzZXQgYXJlIGluIG5hbWVzcGFjZSBfX2dudV9jeHguCglpbmNsdWRlL2JhY2t3YXJkL2hhc2h0YWJsZS5oOiBoYXNoIGFuZCBoYXNodGFibGUgYXJlIGluCgluYW1lc3BhY2UgX19nbnVfY3h4LgoJaW5jbHVkZS9iYWNrd2FyZC9yb3BlLmg6IGNoYXJfcHJvZHVjZXIsIHNlcXVlbmNlX2J1ZmZlciwKCXJvcGUsIGNyb3BlIGFuZCB3cm9wZSBhcmUgaW4gbmFtZXNwYWNlIF9fZ251X2N4eC4KCWluY2x1ZGUvYmFja3dhcmQvc2xpc3QuaDogc2xpc3QgaXMgaW4gbmFtZXNwYWNlIF9fZ251X2N4eC4KCSogdGVzdHN1aXRlL2JhY2t3YXJkL2hlYWRlcl9oYXNoX21hcF9oLmNjCgl0ZXN0c3VpdGUvYmFja3dhcmQvaGVhZGVyX2hhc2hfc2V0X2guY2MKCXRlc3RzdWl0ZS9iYWNrd2FyZC9oZWFkZXJfaGFzaHRhYmxlX2guY2MKCXRlc3RzdWl0ZS9iYWNrd2FyZC9oZWFkZXJfcm9wZV9oLmNjCgl0ZXN0c3VpdGUvYmFja3dhcmQvaGVhZGVyX3NsaXN0X2guY2MKCXRlc3RzdWl0ZS9iYWNrd2FyZC9oZWFkZXJfdGVtcGJ1Zl9oLmNjOiBOZXcgdGVzdHMgZm9yCgljaGVja2luZyB0aGF0IHdlJ3JlIHVzaW5nIHRoZSBjb3JyZWN0IG5hbWVzcGFjZS4KCjIwMDItMDMtMTcgIEphc29uIE1lcnJpbGwgIDxqYXNvbkByZWRoYXQuY29tPgoKCVBSIGMrKy80MzgxCgkqIGxpYnN1cGMrKy9laF9wZXJzb25hbGl0eS5jYyAoZ2V0X2FkanVzdGVkX3B0cik6IE5ldyBzdGF0aWMgZm4uCgkoY2hlY2tfZXhjZXB0aW9uX3NwZWMpOiBDYWxsIGl0LiAgVGFrZSB0aGUgdGhyb3duIHBvaW50ZXIuCgkoX19jeGFfY2FsbF91bmV4cGVjdGVkKTogUGFzcyBpdC4KCShQRVJTT05BTElUWV9GVU5DVElPTik6IExpa2V3aXNlLiAgVXNlIGdldF9hZGp1c3RlZF9wdHIuCgoyMDAyLTAzLTE1ICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogUmVtb3ZlIHVzZWxlc3MgaXNfbWluZ3czMi4KCSogY29uZmlndXJlOiBSZWJ1aWx0LgoKMjAwMi0wMy0xNSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZV9tZW1iZXJzX2NoYXIuY2MKCSh0ZXN0MDEpOiBjb21wYXJlIHRoZSByZXN1bHQgb2YgY29sbGF0ZTo6Y29tcGFyZSB3aXRoCgl0aGF0IG9mIGNvbGxhdGU6OnRyYW5zZm9ybSArIHN0cmluZzo6Y29tcGFyZSwgbm90IHdpdGgKCXRoYXQgb2YgY29sbGF0ZTo6dHJhbnNmb3JtICsgY29sbGF0ZTo6Y29tcGFyZS4KCSh0ZXN0MDEpOiB2YWx1ZXMgcmV0dXJuZWQgYnkgY29sbGF0ZTo6Y29tcGFyZSBhcmUKCW5vcm1hbGl6ZWQsIHRoZXJlZm9yZSB0ZXN0IGFnYWluc3QgKy0xLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGVfbWVtYmVyc193Y2hhcl90LmNjOiBEaXR0by4KCjIwMDItMDMtMTIgIExvcmVuIFJpdHRsZSAgPGxqcml0dGxlQGFjbS5vcmc+CgoJcmVwb3J0ZWQgYnkgUGV0ZXIgU2NobWlkIDxzY2htaWRAc25ha2UuaWFwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDQuY2M6IExvd2VyIG5vbWluYWwgaXRlcmF0aW9uIGNvdW50ZXIuCgoyMDAyLTAzLTEyICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CiAgICAgICAgICAgIFBlciBMaWJvcml1c3NlbiAgPGxpYm9yaXVzQHN0b2ZhbmV0LmRrPgoKCSogY29uZmlnL29zL2dudS1saW51eC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBDYXN0IHRvCgl1bnNpZ25lZCBjaGFyLgoJKiBjb25maWcvb3MvZ251LWxpbnV4L2JpdHMvY3R5cGVfaW5saW5lLmg6IFNhbWUuCgoJKiBjb25maWcvb3MvaXJpeC9pcml4Ni41L2JpdHMvY3R5cGVfaW5saW5lLmg6IFNhbWUuCgoJKiBjb25maWcvb3Mvc29sYXJpcy9zb2xhcmlzMi41L2JpdHMvY3R5cGVfaW5saW5lLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9zb2xhcmlzL3NvbGFyaXMyLjUvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCgkqIGNvbmZpZy9vcy9zb2xhcmlzL3NvbGFyaXMyLjYvYml0cy9jdHlwZV9pbmxpbmUuaDogU2FtZS4KCSogY29uZmlnL29zL3NvbGFyaXMvc29sYXJpczIuNi9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoKCSogY29uZmlnL29zL3NvbGFyaXMvc29sYXJpczIuNy9iaXRzL2N0eXBlX2lubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3Mvc29sYXJpcy9zb2xhcmlzMi43L2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlX21lbWJlcnNfY2hhci5jYyAobWFpbik6IEFkZCB0ZXN0cy4KCjIwMDItMDMtMTIgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcudGNjIChzdHJpbmc6Ol9TX2NvbnN0cnVjdChfSW5JdGVyLAoJX0luSXRlciwgY29uc3QgX0FsbG9jJiwgZm9yd2FyZF9pdGVyYXRvcl90YWcpOiBDaGVjayBmb3IgbnVsbC4KCShzdHJpbmc6OmJhc2ljX3N0cmluZyhjb25zdCBfQ2hhclQqIF9fcywgY29uc3QgX0FsbG9jJiBfX2EpKTogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvY3Rvcl9jb3B5X2R0b3IuY2MgKHRlc3QwMSk6IFJlLWVuYWJsZSwgbm93Cgl0aGF0IG1lbW9yeSBsaW1pdHMgYXJlIGluIHBsYWNlLgoJKHRlc3QwMyk6IEFkZCB0ZXN0cy4KCjIwMDItMDMtMTEgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9DSEVDS19XQ0hBUl9UX1NVUFBPUlQpOiBDaGVjayBmb3Igd2N0eXBlLmguCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZy5oLmluOiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvY19zdGQvc3RkX2N3Y3R5cGUuaDogR3VhcmQuCgoyMDAyLTAzLTExICBDaHJpcyBEZW1ldHJpb3UgIDxjZ2RAYnJvYWRjb20uY29tPgoKCSogYWNpbmNsdWRlLm00IChHTElCQ1BQX0VOQUJMRV9TWU1WRVJTKTogRW5oYW5jZSBjaGVjayBmb3IKCXdoZXRoZXIgR0xJQkNQUF9DSEVDS19MSU5LRVJfRkVBVFVSRVMgaGFzIGJlZW4gdXNlZC4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKMjAwMi0wMy0xMSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL3N0bF9idmVjdG9yLmg6IEZpeCB3YXJuaW5nLgoKMjAwMi0wMy0xMSAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYnZlY3Rvci5oIChfQml0X3R5cGUpOiBOZXcuICBVc2UgdGhyb3VnaG91dC4KCjIwMDItMDMtMTEgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKGNvbGxhdGU6OmRvX3RyYW5zZm9ybSk6CglSZXdyaXRlIHRvIGZpeCBwcm9ibGVtcyB3aXRoIGxvbmcgdHJhbnNmb3JtZWQgc3RyaW5ncy4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAodGltZV9wdXQ6OmRvX3B1dCk6CglDb25zaWRlciBzaXplb2YoY2hhcl90eXBlKSBpbiBhbGxvY2F0aW5nIHRoZSBidWZmZXIuCgoyMDAyLTAzLTEwICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogU3VwcG9ydCBjcm9zcyBidWlsZHMgdG8gbWluZ3czMiB0YXJnZXQuCgkqIGNvbmZpZ3VyZTogUmVidWlsdC4KCjIwMDItMDMtMDggIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGNfbG9jYWxlX2dlbmVyaWMuY2M6IE1vdmUgdG8uLi4KCSogZ2VuZXJpYy9jX2xvY2FsZS5jYwoJKiBjX2xvY2FsZV9nZW5lcmljLmg6IE1vdmUgdG8uLi4KCSogZ2VuZXJpYy9jX2xvY2FsZS5oCgkqIGNvZGVjdnRfc3BlY2lhbGl6YXRpb25zX2dlbmVyaWMuaDogTW92ZSB0by4uLgoJKiBnZW5lcmljL2NvZGVjdnRfc3BlY2lhbGl6YXRpb25zLmgKCSogY29sbGF0ZV9tZW1iZXJzX2dlbmVyaWMuY2M6IE1vdmUgdG8uLi4KCSogZ2VuZXJpYy9jb2xsYXRlX21lbWJlcnMuY2MKCSogY3R5cGVfbWVtYmVyc19nZW5lcmljLmNjOiBNb3ZlIHRvLi4uCgkqIGdlbmVyaWMvY3R5cGVfbWVtYmVycy5jYwoJKiBtZXNzYWdlc19tZW1iZXJzX2dlbmVyaWMuY2M6IE1vdmUgdG8uLi4KCSogZ2VuZXJpYy9tZXNzYWdlc19tZW1iZXJzLmNjCgkqIG1lc3NhZ2VzX21lbWJlcnNfZ2VuZXJpYy5oOiBNb3ZlIHRvLi4uCgkqIGdlbmVyaWMvbWVzc2FnZXNfbWVtYmVycy5oCgkqIG1vbmV5cHVuY3RfbWVtYmVyc19nZW5lcmljLmNjOiBNb3ZlIHRvLi4uCgkqIGdlbmVyaWMvbW9uZXRhcnlfbWVtYmVycy5jYwoJKiBudW1wdW5jdF9tZW1iZXJzX2dlbmVyaWMuY2M6IE1vdmUgdG8uLi4KCSogZ2VuZXJpYy9udW1lcmljX21lbWJlcnMuY2MKCSogdGltZV9tZW1iZXJzX2dlbmVyaWMuY2M6IE1vdmUgdG8uLi4KCSogZ2VuZXJpYy90aW1lX21lbWJlcnMuY2MKCSogY19sb2NhbGVfZ251LmNjOiBNb3ZlIHRvLi4uCgkqIGdudS9jX2xvY2FsZS5jYwoJKiBjX2xvY2FsZV9nbnUuaDogTW92ZSB0by4uLgoJKiBnbnUvY19sb2NhbGUuaAoJKiBjb2xsYXRlX21lbWJlcnNfZ251LmNjOiBNb3ZlIHRvLi4uCgkqIGdudS9jb2xsYXRlX21lbWJlcnMuY2MKCSogY3R5cGVfbWVtYmVyc19nbnUuY2M6IE1vdmUgdG8uLi4KCSogZ251L2N0eXBlX21lbWJlcnMuY2MKCSogbWVzc2FnZXNfbWVtYmVyc19nbnUuY2M6IE1vdmUgdG8uLi4KCSogZ251L21lc3NhZ2VzX21lbWJlcnMuY2MKCSogbWVzc2FnZXNfbWVtYmVyc19nbnUuaDogTW92ZSB0by4uLgoJKiBnbnUvbWVzc2FnZXNfbWVtYmVycy5oCgkqIG1vbmV5cHVuY3RfbWVtYmVyc19nbnUuY2M6IE1vdmUgdG8uLi4KCSogZ251L21vbmV0YXJ5X21lbWJlcnMuY2MKCSogbnVtcHVuY3RfbWVtYmVyc19nbnUuY2M6IE1vdmUgdG8uLi4KCSogZ251L251bWVyaWNfbWVtYmVycy5jYwoJKiB0aW1lX21lbWJlcnNfZ251LmNjOiBNb3ZlIHRvLi4uCgkqIGdudS90aW1lX21lbWJlcnMuY2MKCSogY19sb2NhbGVfaWVlZV8xMDAzLjEtMjAweC5jYzogTW92ZSB0by4uLgoJKiBpZWVlXzEwMDMuMS0yMDAxL2NfbG9jYWxlLmNjCgkqIGNfbG9jYWxlX2llZWVfMTAwMy4xLTIwMHguaDogTW92ZSB0by4uLgoJKiBpZWVlXzEwMDMuMS0yMDAxL2NfbG9jYWxlLmgKCSogY29kZWN2dF9zcGVjaWFsaXphdGlvbnNfaWVlZV8xMDAzLjEtMjAweC5oOiBNb3ZlIHRvLi4uCgkqIGllZWVfMTAwMy4xLTIwMDEvY29kZWN2dF9zcGVjaWFsaXphdGlvbnMuaAoJKiBtZXNzYWdlc19tZW1iZXJzX2llZWVfMTAwMy4xLTIwMHguY2M6IE1vdmUgdG8uLi4KCSogaWVlZV8xMDAzLjEtMjAwMS9tZXNzYWdlc19tZW1iZXJzLmNjCgkqIG1lc3NhZ2VzX21lbWJlcnNfaWVlZV8xMDAzLjEtMjAweC5oOiBNb3ZlIHRvLi4uCgkqIGllZWVfMTAwMy4xLTIwMDEvbWVzc2FnZXNfbWVtYmVycy5oCgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfRU5BQkxFX0NMT0NBTEUpOiBNYWtlIGNvbnNpc3RlbnQuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCSogc3JjL01ha2VmaWxlLmFtIChzb3VyY2VzKTogQ2hhbmdlIHRvIG1vbmV0YXJ5IGFuZCBudW1lcmljLgoJKiBzcmMvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGRvY3MvaHRtbC9jb25maWdvcHRzLmh0bWw6IFVwZGF0ZSB0byBpZWVlXzEwMDMuMS0yMDAxLgoKMjAwMi0wMy0wOCAgc2NvdHQgc255ZGVyICA8c255ZGVyQGZuYWwuZ292PgoKCWxpYnN0ZGMrKy81ODc1CgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAobnVtX3B1dDo6X01fY29udmVydF9mbG9hdCk6CglBbGxvdyBvbmUgbW9yZSBkaWdpdCBvZiBwcmVjaXNpb24uCgkqIHRlc3RzdWl0ZS8yN19pby9vc3RyZWFtX2luc2VydGVyX2FyaXRoLmNjOiBUZXN0IHRoYXQgd2UgY2FuCgl3cml0ZSBhIGRvdWJsZSBhbmQgcmVhZCBiYWNrIGluIHRoZSBzYW1lIHZhbHVlLgoKMjAwMi0wMy0wOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9zdGQvc3RkX2xpbWl0cy5oOiBNb3ZlIHN0YXRpYyBjb25zdCBkYXRhIG1lbWJlcnMgb3V0IG9mCglnZW5lcmljIHRlbXBsYXRlLCBpbnRvIGJhc2UgY2xhc3MgX19udW1lcmljX2xpbWl0c19iYXNlLgoJKiBzcmMvbGltaXRzLmNjOiBBZGQgZGVmaW5pdGlvbnMuCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogQWRkIF9fbnVtZXJpY19saW1pdHNfYmFzZS4KCSogdGVzdHN1aXRlLzE4X3N1cHBvcnQvbnVtZXJpY19saW1pdHMuY2M6IERlY2xhcmUgdGVzdCBpbiBzY29wZS4KCjIwMDItMDMtMDcgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxsb2MuaDogQWRkIGV4dGVybiBpbXBsaWNpdCBhbGxvY2F0b3IKCWluc3RhbnRpYXRpb25zLgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLnRjYzogVHdlYWsuCgkqIGluY2x1ZGUvYml0cy9sb3FjYWxlX2ZhY2V0cy50Y2M6IFJlbW92ZSBkZWZhdWx0IGFyZ3MuIEFkZAoJaGFzX2ZhY2V0LCB1c2VfZmFjZXQgZXh0ZXJuIGluc3RhbnRpYXRpb25zLgoJKiBzcmMvc3RsLWluc3QuY2M6IEFkZCBleHBsaWNpdCBpbnN0YW50aWF0aW9uLgoJKiBzcmMvbG9jYWxlLWluc3QuY2M6IENsZWFuLiBSZW1vdmUgbG9jYWxlIG1lbWJlciB0ZW1wbGF0ZQoJaW5zdGFudGlhdGlvbnMuCgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL29wZXJhdG9ycy5jYyAodGVzdDAyKTogRW5hYmxlLgoKMjAwMi0wMy0wNiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoJICAgIFN0ZXBoZW4gTS4gV2ViYiAgPHN0ZXBoZW4ud2ViYkBicmVnbWFzb2Z0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9zdGxfdHJlZS5oIChfU19yYl90cmVlX3JlZCk6IE1ha2UgZW51bS4KCShfU19yYl90cmVlX2JsYWNrKTogTWFrZSBlbnVtLgoJQ2xlYW4uIEZvcm1hdC4KCSogaW5jbHVkZS9iaXRzL3N0bF9idmVjdG9yLmggKF9fV09SRF9CSVQpOiBUbyBfTV93b3JkX2JpdCwgZW51bS4KCSogaW5jbHVkZS9iaXRzL3N0bF9hbGdvLmggKF9fc3RsX2NodW5rX3NpemUpOiBfTV9jaHVua19zaXplLCBlbnVtLgoJKF9fc3RsX3RocmVzaG9sZCk6IF9NX3RocmVzaG9sZCwgZW51bS4KCSogc3JjL3N0bC1pbnN0LmNjOiBTYW1lLgoJKiBjb25maWcvbGlua2VyLW1hcC5nbnU6IFJlbW92ZS4KCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL3ZlY3Rvcl9ib29sLmNjOiBOZXcuCgoyMDAyLTAzLTA4ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLmggKGJhc2ljX3N0cmluZzo6X1NfY29uc3RydWN0KTogIEZpeAoJbmFtZXMgaW4gZGVjbGFyYXRpb24uCgkoYmFzaWNfc3RyaW5nOjpjb21wYXJlKTogIFRoZXNlIGFyZSBubyBsb25nZXIgb3B0aW9uYWwuCgkqIGluY2x1ZGUvYml0cy9vc3RyZWFtLnRjYzogIFR3ZWFrIGNsb3NpbmcgYnJhY2UgcGxhY2VtZW50LgoJKiBpbmNsdWRlL2JpdHMvc3RsX2FsZ28uaDogIExvdHMgb2YgaW5pdGlhbCBkb3h5Z2VuIGNvbW1lbnQgaG9va3MuCgkqIGluY2x1ZGUvc3RkL3N0ZF9zc3RyZWFtLmg6ICBGaXggdHlwbyBpbiBjb21tZW50LgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2M6ICBSZW1vdmUgdW5uZWVkZWQgaGVhZGVyIGluY2x1c2lvbi4KCSogc3JjL2xvY2FsZS5jYzogIExpa2V3aXNlLgoKMjAwMi0wMy0wOCAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCVBSIGxpYnN0ZGMrKy81NzM0CgkqIGluY2x1ZGUvYml0cy9zdGxfdmVjdG9yLmggKHZlY3Rvcjo6cHVzaF9iYWNrKCkpOiAgR3VhcmQgd2l0aAoJX0dMSUJDUFBfREVQUkVDQVRFRC4KCjIwMDItMDMtMDUgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGRvY3MvaHRtbC8xN19pbnRyby9SRUxFQVNFLU5PVEVTOiBGaXggdXNhZ2UuCgkqIFJFQURNRSAobGlibWF0aCk6IE1ha2UgY2xlYXIuCgoyMDAyLTAzLTA1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9FTkFCTEVfU1lNVkVSUyk6IENoZWNrIGZvciB2ZXJzaW9uCglzY3JpcHQgZ2xvYmJpbmcgaW4gbGQuCgkqIGFjbG9jYWwubTQ6IFJlYnVpbHQuCgkqIGNvbmZpZ3VyZTogUmVidWlsdC4KCjIwMDItMDMtMDUgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGRvY3MvaHRtbC8xN19pbnRyby9SRUxFQVNFLU5PVEVTOiBVcGRhdGUuCgkqIFJFQURNRTogRm9ybWF0IHN1YmRpcmVjdG9yaWVzLgoKMjAwMi0wMy0wNSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglsaWJzdGRjKysvNTgxNgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MKCShudW1fZ2V0OjpfTV9leHRyYWN0X2Zsb2F0KTogRml4IHRoZSBwYXJzaW5nIG9mIF9fZGVjLCBzaW5jZQoJdGhlIHN0YW5kYXJkIHByZXNjcmliZXMgdGhhdCBpZiBubyBncm91cGluZyBjaGFyYWN0ZXJzIGFyZQoJc2Vlbiwgbm8gZ3JvdXBpbmcgY2hlY2sgaXMgYXBwbGllZC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0X21lbWJlcnNfY2hhci5jYzogQWRkIHRlc3QwNQoJZGlzdGlsbGVkIGZyb20gdGhlIFBSLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXRfbWVtYmVyc193Y2hhcl90LmNjOiBEaXR0by4KCjIwMDItMDMtMDQgIENyYWlnIFJvZHJpZ3VlcyAgPHJvZHJpZ2NAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2h0bWwvMTdfaW50cm8vcG9ydGluZy1ob3d0by54bWw6IFJlZmVyIHRvCglodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnIGZvciBkb2Nib29reC5kdGQuCgkqIGRvY3MvaHRtbC8xN19pbnRyby9wb3J0aW5nLWhvd3RvLmh0bWw6IFJlZ2VuZXJhdGVkLgoKMjAwMi0wMy0wMyAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKICAgICAgICBQUiBsaWJzdGRjKysvMjk1NQoJKiBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oOiAgUmVtb3ZlIHRyYWlsaW5nIHNwYWNlcy4KCShiYXNpY19zdHJpbmdidWY6Ol9NX3N0cmluZ2J1Zl9pbml0KTogIEFsc28gY2hlY2sgZm9yIGlvc19iYXNlOjphcHAuCgkqIHRlc3RzdWl0ZS8yN19pby9zdHJpbmdidWYuY2MgKHRlc3QwNSwgdGVzdDA2KTogIE5ldyB0ZXN0cy4KCjIwMDItMDMtMDMgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXRfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDQpOgoJVXNlIGEgbmFtZWQgbG9jYWxlIGV4cGVjdGluZyBncm91cGluZyAoZGVfREUpLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXRfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDQpOgoJRGl0dG8uCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfbWFuaXBfYmFzZWZpZWxkLmNjICh0ZXN0MDEpOgoJRXh0ZW5kIGNvdmVyYWdlLCB1bmlmb3JtIHRyZWF0bWVudCBvZiBoZXhzIGFuZCBvY3RzLgoKMjAwMi0wMy0wMSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAobnVtX2dldDo6X01fZXh0cmFjdF9pbnQpOgoJQWRtaXQgZ3JvdXBpbmcgZm9yIG9jdGFscyBhbmQgaGV4YWRlY2ltYWxzIHRvby4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0X21lbWJlcnNfY2hhci5jYzogQWRkIHRlc3QwNC4KCSh0ZXN0MDEpOiBUd2VhayAiLiIgLT4gIiwiIGluIHZvaWQqIHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldF9tZW1iZXJzX3djaGFyX3QuY2M6IERpdHRvLgoKCSogdGVzdHN1aXRlLzI3X2lvL2lvc19tYW5pcF9iYXNlZmllbGQuY2M6IFJlbW92ZSBzdGF0aWMga2V5d29yZC4KCSogdGVzdHN1aXRlLzI3X2lvL2lvc19tYW5pcF9mbXRmbGFncy5jYzogUmVtb3ZlIHR3byBvZiB0aGVtLgoKCSogdGVzdHN1aXRlLzI3X2lvL2lvc19tYW5pcF9iYXNlZmllbGQuY2MgKHRlc3QwMSk6CglGaXggZm9yIDY0IGJpdCBtYWNoaW5lcy4KCjIwMDItMDItMjggIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBjb25maWcvbGlua2VyLW1hcC5nbnU6IEV4cG9ydCBvcGVyYXRvciBuZXcgd2l0aCB1bnNpZ25lZCBsb25nLAoJYW5kIHdpdGggc3RkOjpub3Rocm93X3QuICBMaWtld2lzZSBvcGVyYXRvciBkZWxldGUuCgoyMDAyLTAyLTI2ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJbGlic3RkYysrLzM5ODMKCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy50Y2MgKGJhc2ljX2lvczo6aW5pdCk6IFNldCBfTV9maWxsIHRvIHplcm8uCglBZGp1c3QgY29tbWVudC4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy5oIChiYXNpY19pb3M6Ol9NX2ZpbGwpOiBNYWtlIG11dGFibGUuCgkoYmFzaWNfaW9zOjpfTV9maWxsX2luaXQpOiBOZXcuCgkoYmFzaWNfaW9zOjpmaWxsKCkpOiBEZWxheSBkZWFsaW5nIHdpdGggX01fZmlsbC4KCUFkanVzdCBjb21tZW50LgoJKiBpb3MuY2MgKGlvc19iYXNlOjppb3NfYmFzZSgpKTogSW5pdGlhbGl6ZSBfTV9jYWxsYmFja3MsIF9NX3dvcmRzLgoJKGlvc19iYXNlOjpfTV9jYWxsX2NhbGxiYWNrcyk6IEFkanVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL2lvc19pbml0LmNjICh0ZXN0MDIpOiBBZGp1c3QgdGVzdGNhc2UuCgoyMDAyLTAyLTI4ICBMb3JlbiBSaXR0bGUgIDxsanJpdHRsZUBhY20ub3JnPgoKCSogaW5jbHVkZS9NYWtlZmlsZS5hbSAodGhyZWFkX3RhcmdldF9oZWFkZXJzKTogVW5jb25kaXRpb25hbGx5CglzdGFnZSBhbmQgaW5zdGFsbCBndGhyLXBvc2l4LmguCgkoJHt0YXJnZXRfYnVpbGRkaXJ9L2d0aHItcG9zaXguaCk6IE5ldyBydWxlIGNsb25lZCBvZmYKCSR7dGFyZ2V0X2J1aWxkZGlyfS9ndGhyLWRlZmF1bHQuaC4KCSgke3RhcmdldF9idWlsZGRpcn0vZ3Roci1kZWZhdWx0LmgpOiBTdXBwb3J0IGNoYWluZWQgaW5jbHVzaW9uCglvZiBndGhyIHN1cHBvcnQgaGVhZGVycy4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVidWlsdC4KCjIwMDItMDItMjYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG51bV9wdXQ6Ol9NX3dpZGVuX2ludCk6CglHcm91cCBhbGwgdGhlIGludGVncmFsIHR5cGVzLCBub3Qgb25seSBkZWNzLgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX21hbmlwX2Jhc2VmaWVsZC5jYyAodGVzdDAxKTogVHdlYWsgZXhpc3RpbmcKCXRlc3RzLCBhZGQgYSBmZXcgbW9yZS4KCjIwMDItMDItMjUgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHNyYy9pb3MuY2MgKGlvc19iYXNlOjp+aW9zX2Jhc2UpOiBUd2Vhay4KCShpb3NfYmFzZTo6X01fY2FsbF9jYWxsYmFja3MpOiBEZWFsIHdpdGggbnVsbCBfX3AuCgkoaW9zX2Jhc2U6Omlvc19iYXNlKTogU2V0IF9NX2NhbGxiYWNrcy4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy50Y2MgKGJhc2ljX2lvczo6aW5pdCk6IEFkanVzdCBjb21tZW50LgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX2luaXQuY2MgKHRlc3QwMik6IEZpeC4KCgkqIG1rY2hlY2suaW4gKHN0YXRpY19mYWlsKTogRmFpbGVkIGxpbmtzIGdvIHRvIG91dHB1dCBmaWxlLgoKMjAwMi0wMi0yNSAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogZG9jcy9odG1sL2ZhcS9pbmRleC5odG1sOiAgVXBkYXRlLgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4LnR4dDogIFJlZ2VuZXJhdGUuCgoyMDAyLTAyLTIyICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfRU5BQkxFX1NZTVZFUlMpOiAgRml4IGNvbW1lbnQuCgkqIGFjbG9jYWwubTQ6ICBSZWdlbmVyYXRlLgoJKiBkb2NzL2h0bWwvY29uZmlnb3B0cy5odG1sOiAgRG9jdW1lbnQgLS1lbmFibGUtc3ltdmVycy4KCSogY29uZmlnL2xpbmtlci1tYXAuZ251OiAgQnJlYWsgbGlic3VwYysrIHN5bWJvbHMgb3V0IHRvIHRoZWlyIG93biB0YWcuCgoyMDAyLTAyLTIyICBQaGlsaXBwIFRob21hcyAgPHB0aG9tYXNAc3VzZS5kZT4KCiAgICAgICAgKiBpbmNsdWRlL2JhY2t3YXJkL3RlbXBidWYuaDogZ2V0X3RlbXBvcmFyeV9idWZmZXIgYW5kCiAgICAgICAgcmV0dXJuX3RlbXBvcmFyeV9idWZmZXIgYXJlIGluIG5hbWVzcGFjZSBzdGQsIG5vdCBpbiBfX2dudV9jeHguCgoyMDAyLTAyLTIxICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW4gKHRhcmdldF9hbGlhcyk6IERlZmF1bHQgdG8geWVzLgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfRU5BQkxFX1NZTVZFUlMpOiBBZGQgY2hlY2sgZm9yIHNoYXJlZAoJbGliZ2NjIHRvIGRlZmF1bHQgY2FzZS4KCjIwMDItMDItMjAgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9DSEVDS19MSU5LRVJfRkVBVFVSRVMpOiAgQWxzbyBjaGVjayB2ZXJzaW9uLgoJKEdMSUJDUFBfRU5BQkxFX1NZTVZFUlMpOiAgUmVkbyBsb2dpYywgdXNlIGxpbmtlciB2ZXJzaW9uLgoJKiBjb25maWd1cmUuaW4gKEdMSUJDUFBfRU5BQkxFX1NZTVZFUlMpOiAgTW92ZSBsYXRlciBpbiB0aGUgc2NyaXB0LgoJKiBhY2xvY2FsLm00OiAgUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlOiAgUmVnZW5lcmF0ZS4KCSogY29uZmlnL2xpbmtlci1tYXAuZHVtbXk6ICBOZXcgZmlsZS4gIENvbnRhaW5zIG5vdGhpbmcgdXNlZnVsLgoKMjAwMi0wMi0yMCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXRfbWVtYmVyc19jaGFyLmNjOiBGaXguCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0X21lbWJlcnNfd2NoYXJfdC5jYzogRml4LgoKCSogdGVzdHN1aXRlLzI3X2lvL3N0YW5kYXJkX21hbmlwdWxhdG9ycy5jYzogTmV3IGZpbGUuCgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX21hbmlwX2Jhc2VmaWVsZC5jYzogQ2hlY2sgcmVzdWx0cywgbm93IGZhaWxpbmcuCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfbWFuaXBfZm10ZmxhZ3MuY2M6IFVzZSBsb2NhbGU6OmNsYXNzaWMoKS4KCjIwMDItMDItMjAgIERhbm55IFNtaXRoICA8ZGFubnlzbWl0aEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBjb25maWcvb3MvbWluZ3czMi9iaXRzL2N0eXBlX25vbmlubGluZS5oCgkoY3R5cGU8Y2hhcj46OmN0eXBlKTogUmVtb3ZlIGRlZmF1bHQgYXJncyBmcm9tIHBhcm0gbGlzdC4KCSogY29uZmlnL29zL2RqZ3BwL2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgoyMDAyLTAyLTE5ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL3N0ZC9zdGRfaW9tYW5pcC5oOiBJbmxpbmUsIHR3ZWFrcy4KCSogY29uZmlnL2xpbmtlci1tYXAuZ251OiBSZW1vdmUgaGFja3MuCgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9jYXBhY2l0eS5jYzogQWRkIGV4cGxpY2l0IGluc3RhbnRpYXRpb25zLgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX2luaXQuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0X21lbWJlcnNfY2hhci5jYyAodGVzdDA3KTogRml4LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwNyk6IFNhbWUuCgoyMDAyLTAyLTE5ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBjb25maWcvbGlua2VyLW1hcC5nbnU6IEV4cG9ydCBnbG9iYWwgdnRhYmxlLCB0eXBlaW5mbywgZ3VhcmQKCXZhcmlhYmxlLCBhbmQgdGh1bmsgaW5mbyBhcyBwZXIgQ1hYQUJJIGRvY3MuCgoyMDAyLTAyLTE5ICBMb3JlbiBSaXR0bGUgPGxqcml0dGxlQGFjbS5vcmc+CgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtOiBVc2UgQ09ORklHX0hFQURFUiBpbnN0ZWFkIG9mIGFkIGhvYyBuYW1lcy4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVidWlsdC4KCjIwMDItMDItMTggIFBldGVyIFNjaG1pZCAgPHNjaG1pZEBzbmFrZS5pYXAucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZV9ieW5hbWUuY2MgKHRlc3QwMSk6IFJlcGxhY2Ugc2l6ZTQKICAgICAgICAgIHdpdGggc2l6ZTMgZm9yIHRoZSBzdHJpbmcgY29sbGF0aW9ucyBvZiBzdHI1LgoKMjAwMi0wMi0xOCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglsaWJzdGRjKysvNTcwOAoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG1vbmV5X3B1dDo6ZG9fcHV0KToKCUZvciB0aGUgc3BhY2UgZmllbGQgdXNlIF9fZmlsbCBpbnN0ZWFkIG9mICcgJywgdW5pZm9ybWx5LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X3B1dF9tZW1iZXJzX2NoYXIuY2M6CglBZGQgdGVzdDA1IGRpc3RpbGxlZCBmcm9tIFBSLgoJKHRlc3QwMS0wMi0wMyk6IFRyaW0gc29tZSAnKicgdG8gJyAnLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X3B1dF9tZW1iZXJzX3djaGFyX3QuY2M6IERpdHRvLgoKMjAwMi0wMi0xOCAgTG9yZW4gUml0dGxlIDxsanJpdHRsZUBhY20ub3JnPgoKCWxpYnN0ZGMrKy81Njk3CgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKHRocmVhZF9idWlsZGRpcik6IFJlbW92ZSAobWFwIGFsbAoJZXhpc3RpbmcgdXNlcyB0byB0YXJnZXRfYnVpbGRkaXIpLgoJKHRocmVhZF9oZWFkZXJzKTogUmVuYW1lIHRvLi4uCgkodGhyZWFkX3RhcmdldF9oZWFkZXJzKTogLi4udGhpcy4KCShzdGFtcC10aHJlYWQpOiBSZW1vdmUuCgkoc3RhbXAtdGFyZ2V0KTogQ29ycmVjdGx5IHN0YXRlIHRoZSBwb3NpdGlvbiBhcyBidWlsdC4KCVVwZGF0ZSBhbGwgZGVwZW5kZW5jaWVzIHRvIG1hdGNoIHRoZSBuZXcgcmVhbGl0eS4gIFJlbW92ZSBhbGwKCWRlcGVuZGVuY3kgY2FsY3VsYXRpb25zIG9uIGRpcmVjdG9yaWVzLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWJ1aWx0LgoKMjAwMi0wMi0xNiAgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYzogQWRkIHByYWdtYSBHQ0Mgc3lzdGVtX2hlYWRlci4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvc3N0cmVhbS50Y2M6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9vc3RyZWFtLnRjYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtYnVmLnRjYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy50Y2M6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcudGNjOiBTYW1lLgoKMjAwMi0wMi0xNSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9zdGQvc3RkX2lvc2Z3ZC5oOiBEb24ndCBndWFyZCB0eXBlZGVmcyB3aXRoCglfR0xJQkNQUF9VU0VfV0NIQVJfVAoJKiBpbmNsdWRlL2JpdHMvc3RyaW5nZndkLmg6IFNhbWUuCgoyMDAyLTAyLTE1ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBzcmMvbG9jYWxlLmNjIChtb25leXB1bmN0X2J5bmFtZSk6IFJlbW92ZSBkZWZpbml0aW9ucy4KCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oIChzdHJlYW1idWY6Om9wZXJhdG9yPSk6IFJldHVybi4KCjIwMDItMDItMTUgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglUdW5lIGZvciBzaXplLgoJKiBzcmMvc3RyaW5nLWluc3QuY2MgKHN0cmluZzo6X1JlcDo6X1NfdGVybWluYWwpOiBSZW1vdmUgcmVkdW5kYW50CglleHBsaWNpdCBpbnN0YW50aWF0aW9uLgoJKHN0cmluZzo6X1JlcDo6X1NfbWF4X3NpemUpOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLnRjYzogQWRkIGV4dGVybiBleHBsaWNpdAoJaW5zdGFudGlhdGlvbnMgZm9yIHN0cmluZywgd3N0cmluZy4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy50Y2M6IEFkZCBleHRlcm4gZXhwbGljaXQgaW5zdGFudGlhdGlvbnMKCWZvciBpb3MsIHdpb3MuCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjOiBTYW1lLCBmb3Igc3RyZWFtYnVmLCB3c3RyZWFtYnVmLgoJKiBpbmNsdWRlL2JpdHMvaXN0cmVhbS50Y2M6IFNhbWUsIGZvciBpc3RyZWFtLCB3aXN0cmVhbS4KCSogaW5jbHVkZS9iaXRzL29zdHJlYW0udGNjOiBTYW1lIGZvciBvc3RyZWFtLCB3b3N0cmVhbSwgaW9zdHJlYW0sCgl3aW9zdHJlYW0uCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYzogU2FtZSwgZm9yIHN0cmluZ2J1Ziwgd3N0cmluZ2J1ZiwKCWlzdHJpbmdzdHJlYW0sIHdpc3RyaW5nc3RyZWFtLCBvc3RyaW5nc3RyZWFtLCB3b3N0cmluZ3N0cmVhbSwKCXN0cmluZ3N0cmVhbSwgd3N0cmluZ3N0cmVhbS4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjOiBTYW1lLCBmb3IgZmlsZWJ1Ziwgd2ZpbGVidWYsIGlmc3RyZWFtLAoJd2lmc3RyZWFtLCBvZnN0cmVhbSwgd29mc3RyZWFtLCBmc3RyZWFtLCB3ZnN0cmVhbS4KCSogc3JjL21pc2MtaW5zdC5jYzogQ29ycmVjdCBjb21tZW50cy4KCUFkZCBpb21hbmlwIGluc3RhbnRpYXRpb25zIGZvciB3aWRlIHN0cmVhbXMuCgkqIGluY2x1ZGUvc3RkL3N0ZF9pb21hbmlwLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYzogU2FtZS4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaDogQ29ycmVjdAoJX0dMSUJDUFBfRlVMTFlfQ09NUExJQU5UX0hFQURFUlMgZ3VhcmQuCgkqIGluY2x1ZGUvc3RkL3N0ZF9zc3RyZWFtLmg6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9vc3RyZWFtLmg6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9pc3RyZWFtLmg6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmg6IFNhbWUuCgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RyZWFtYnVmLmg6IEFkZCBkZWZpbml0aW9ucyBmb3IgcHJpdmF0ZSBjb3B5CgljdG9yIGFuZCBhc3NpZ25tZW50IG9wZXJhdG9yLgoJKiBpbmNsdWRlL3N0ZC9zdGRfaXN0cmVhbS5oOiBSZW1vdmUgZGVjbGFyZWQgYnV0IHVuZGVmaW5lZCBjb3B5CgljdG9yIGFuZCBhc3NpZ25tZW50IG9wZXJhdG9yLiBUaGlzIGlzIHRha2VuIGNhcmUgb2YgaW4gaW9zX2Jhc2UsCglzbyBhZGRpbmcgaXQgaW4gdGhlIGRlcml2ZWQgY2xhc3MgYXMgd2VsbCBpcyBzdXBlcmZsdW91cy4KCSogaW5jbHVkZS9zdGQvc3RkX29zdHJlYW0uaDogU2FtZS4KCgkqIGluY2x1ZGUvYml0cy9iYXNpY19pb3MuaCAoYmFzaWNfaW9zOjpjbGVhcik6IERvbid0IGlubGluZS4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy50Y2MgKGJhc2ljX2lvczo6Y2xlYXIpOiBNb3ZlIGRlZmluaXRpb24gaGVyZS4KCjIwMDItMDItMTQgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogQ2hhbmdlIHRhZyBmcm9tIEdDQ18zLjEgdG8gR0xJQkNQUF8zLjEuCglBZGQgdHlwZWluZm8gYml0cy4gU21vb3RoLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmU6IFNhbWUuCgkqIHNyYy9NYWtlZmlsZS5pbjogU2FtZS4KCjIwMDEtMDItMTQgIEpvZWwgU2hlcnJpbGwgIDxqb2VsQE9BUmNvcnAuY29tPgoKCSogY29uZmlnL2NwdS9tNjhrL2JpdHMvYXRvbWljaXR5Lmg6IENvcnJlY3RlZCBmb3IgUlRFTVMgdGFyZ2V0cwoJd2hpY2ggZG8gbm90IGhhdmUgYSBDQVMgaW5zdHJ1Y3Rpb24uCgoyMDAyLTAyLTE0ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfRU5BQkxFX1NZTVZFUlMpOiAgTmV3IG1hY3JvLCBpbml0aWFsIHJldmlzaW9uLgoJKiBjb25maWd1cmUuaW46ICBDYWxsIGl0LgoJKiBjb25maWcvbGlua2VyLW1hcC5nbnU6ICBOZXcgZmlsZSwgaW5pdGlhbCBpbmNvbXBsZXRlIHJldmlzaW9uLgoJKiBzcmMvTWFrZWZpbGUuYW06ICBPcHRpb25hbGx5IHBhc3MgdmVyc2lvbiBzY3JpcHQgdG8gdGhlIGxpbmtlci4KCSogYWNsb2NhbC5tNDogIFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogIFJlZ2VuZXJhdGUuCgkqIHNyYy9NYWtlZmlsZS5pbjogIFJlZ2VuZXJhdGUuCgoyMDAyLTAyLTEzICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBzcmMvbG9jYWxlbmFtZS5jYzogUmVtb3ZlIHN0ZGV4Y2VwdCBpbmNsdWRlLgoJKiBzcmMvbG9jYWxlLWluc3QuY2M6IFNhbWUuCgkqIHNyYy9sb2NhbGUuY2M6IFNhbWUuCgkqIHNyYy9mdW5jdGV4Y2VwdC5jYzogUmVtb3ZlIHN0cmluZyBpbmNsdWRlcy4KCSogaW5jbHVkZS9zdGQvc3RkX2JpdHNldC5oOiBSZW1vdmUgc3RkZXhjZXB0IGluY2x1ZGUuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL2JpdHNldF9tZW1iZXJzLmNjOiBBZGQgc3RkZXhjZXB0LgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9iaXRzZXRfY3Rvci5jYzogU2FtZS4KCjIwMDItMDItMTEgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnbyAoX19zdGxfdGhyZXNob2xkKTogRGVjbGFyZSBleHRlcm5hbC4KCShfX3N0bF9jaHVua19zaXplKTogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9idmVjdG9yLmggKF9fV09SRF9CSVQpOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3RyZWUuaCAoX1NfcmJfdHJlZV9yZWQpOiBTYW1lLgoJKF9TX3JiX3RyZWVfYmxhY2spOiBTYW1lLgoJKiBzcmMvc3RsLWluc3QuY2MgKF9fc3RsX3RocmVzaG9sZCk6IERlZmluZS4KCShfX3N0bF9jaHVua19zaXplKTogU2FtZS4KCShfX1dPUkRfQklUKTogU2FtZS4KCShfU19yYl90cmVlX3JlZCk6IFNhbWUuCgkoX1NfcmJfdHJlZV9ibGFjayk6IFNhbWUuCgoJKiBjb25maWcvaW8vYmFzaWNfZmlsZV9saWJpby5oIChfX2Jhc2ljX2ZpbGUpOiBBZGQgZGVjbGFyYXRpb25zLgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfZmlsZS5oOiBSZW1vdmUuCgkqIGNvbmZpZy9pby9jX2lvX3N0ZGlvLmg6IFJlbW92ZSBfR0xJQkNQUF9CQVNJQ19GSUxFX0VOQ0FQU1VMQVRJT04KCURlY2xhcmUgZ2VuZXJpYyB0eXBlcywgc3BlY2lhbGl6YXRpb24uCiAgICAgICAgKiBjb25maWcvaW8vYmFzaWNfZmlsZV9zdGRpby5jYzogRGVmaW5pdGlvbnMuCgkqIGNvbmZpZy9pby9jX2lvX2xpYmlvLmg6IFJlbW92ZSBfR0xJQkNQUF9CQVNJQ19GSUxFX0lOSEVSSVRBTkNFLgoJRGVjbGFyZSBnZW5lcmljIHR5cGVzLgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtIChiaXRzX2hlYWRlcnMpOiBSZW1vdmUgYmFzaWNfZmlsZS5oLgoJKGV4dHJhX3RhcmdldF9oZWFkZXJzKTogQ2hhbmdlIGJhc2ljX2ZpbGVfbW9kZWwuaCB0byBiYXNpY19maWxlLmguCgkoc3RhbXAtdGFyZ2V0KTogU2FtZS4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxsb2MuaDogVHdlYWtzLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlZndkLmg6IFNhbWUuCgoyMDAyLTAyLTExICBBYXJvbiBXIExhRnJhbWJvaXNlICA8QVdMYUZyYW1ib2lzZUBhb2wuY29tPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChjb2xsYXRlOjpkb19oYXNoKTogRml4LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGVfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDMpOiBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlX21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDAzKTogU2FtZS4KCjIwMDItMDItMTAgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnby5oICh0cmFuc2Zvcm0gKGJvdGggc2lnbmF0dXJlcyksIGdlbmVyYXRlX24pOgoJVXNlIF9fdHlwZW9mX18gaW4gY29uY2VwdCBjaGVja3MuCgoyMDAyLTAyLTEwICBKb25hdGhhbiBXYWtlbHkgIDxjb3dAY29tcHNvYy5tYW4uYWMudWs+CgoJKiBpbmNsdWRlL2JpdHMvc3RsX2FsZ28uaCAoX19tZWRpYW4sIGZvcl9lYWNoLCBmaW5kLCBmaW5kX2lmLAoJYWRqYWNlbnRfZmluZCwgY291bnQsIGNvdW50X2lmLCBzZWFyY2gsIHNlYXJjaF9uLCBzd2FwX3JhbmdlcywKCXRyYW5zZm9ybSwgcmVwbGFjZSwgcmVwbGFjZV9pZiwgcmVwbGFjZV9jb3B5LCByZXBsYWNlX2NvcHlfaWYsCglnZW5lcmF0ZSwgZ2VuZXJhdGVfbiwgcmVtb3ZlX2NvcHksIHJlbW92ZV9jb3B5X2lmLCByZW1vdmUsIHJlbW92ZV9pZiwKCXVuaXF1ZSwgdW5pcXVlX2NvcHksIHJldmVyc2UsIHJldmVyc2VfY29weSk6ICBEb3h5Z2VuYXRlLgoKMjAwMi0wMi0wOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMuaAoJKG51bXB1bmN0PF9DaGFyVD46Ol9NX2luaXRpYWxpemVfbnVtcHVuY3QpOiBSZW1vdmUgZGVmaW5pdGlvbi4KCShfX3RpbWVwdW5jdDxfQ2hhclQ+OjpfTV9pbml0aWFsaXplX3RpbWVwdW5jdCk6IFNhbWUuCgkoX190aW1lcHVuY3Q8X0NoYXJUPjo6X01fcHV0X2hlbHBlcik6IFNhbWUuCgkobW9uZXlwdW5jdDxfQ2hhclQsIF9JbnRsPjo6X01faW5pdGlhbGl6ZV9tb25leXB1bmN0KTogU2FtZS4KCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoZmlsZWJ1Zjo6dW5kZXJmbG93KTogUmVtb3ZlCglfX2NvZGVjdnRfdHlwZSB0eXBlZGVmLgoJKGZpbGVidWY6Ol9NX2NvbnZlcnRfdG9fZXh0ZXJuYWwpOiBTYW1lLgoKMjAwMi0wMi0wOCAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogZG9jcy9kb3h5Z2VuL1RPRE86ICBVcGRhdGUuCgkqIGRvY3MvZG94eWdlbi9kb3h5Z3JvdXBzLmNjOiAgVHdlYWsgX19nbnVfY3h4IGRlc2NyaXB0aW9uLgoJKiBkb2NzL2RveHlnZW4vbWFpbnBhZ2UuaHRtbDogIEFkZCBUT0RPIGxpc3QgbGluay4KCSogZG9jcy9kb3h5Z2VuL3VzZXIuY2ZnLmluOiAgQWRkIEBkb2N0b2RvIGhvb2suCgkqIGRvY3MvZG94eWdlbi90YWJsZXMuaHRtbDogIE5ldyBmaWxlLCBlbW90eSBzdHJ1Y3R1cmUgb25seS4KCgkqIGluY2x1ZGUvYml0cy9zdGxfaXRlcmF0b3IuaDogIERveHlnZW5hdGUganVzdCBhYm91dCBldmVyeXRoaW5nLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2l0ZXJhdG9yX2Jhc2VfZnVuY3MuaDogIERpdHRvLCBjbGVhbiB1cCBzcGFjZXMuCgkqIGluY2x1ZGUvYml0cy9zdGxfaXRlcmF0b3JfYmFzZV90eXBlcy5oOiAgQWRkIG5vdGVzLgoKMjAwMi0wMi0wNyAgU3RlcGhhbiBCdXlzICA8c2Jwcm94eUBpY29uLmNvLnphPgoKCSogaW5jbHVkZS9iaXRzL3N0bF9tYXAuaDogIFR3ZWFrIGRveHlnZW4gbWFya3VwLgoJKiBpbmNsdWRlL2JpdHMvc3RsX211bHRpbWFwLmg6ICBEb3h5Z2VuYXRlIGFuZCByZW1vdmUgZXh0cmEgc3BhY2VzLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3ZlY3Rvci5oOiAgTGlrZXdpc2UuCgoyMDAyLTAyLTA3ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJbGlic3RkYysrLzUyODYKCWxpYnN0ZGMrKy8zODYwCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKGZpbGVidWY6Ol9fZmlsZV90eXBlKTogQ2hhbmdlIHRvCglfX2Jhc2ljX2ZpbGU8Y2hhcj4uCgkoZmlsZWJ1Zjo6X01fY29udmVydF90b19leHRlcm5hbCk6IERlY2xhcmUuCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoZmlsZWJ1Zjo6X01fY29udmVydF90b19leHRlcm5hbCk6IERlZmluZQoJY29kZWN2dCBiaXRzIGZvciB3aWRlIHN0cmVhbXMuCgkoZmlsZWJ1Zjo6X01fcmVhbGx5X292ZXJmbG93KTogVXNlIGl0LgoJKGZpbGVidWY6OnVuZGVyZmxvdyk6IFVzZSBjb2RlY3Z0LgoJKiBjb25maWcvbG9jYWxlL2NvZGVjdnRfc3BlY2lhbGl6YXRpb25zX2llZWVfMTAwMy4xLTIwMHguaDoKCShjb2RlY3Z0PF9fZW5jX3RyYWl0cz46OmRvX291dCk6IERlYWwgd2l0aCBwYXJ0aWFsLgoJKGNvZGVjdnQ8X19lbmNfdHJhaXRzPjo6ZG9fZW5jb2RpbmcpOiBSZXR1cm4gc29tZXRoaW5nIHVzZWZ1bC4KCSogc3JjL2NvZGVjdnQuY2MgKGNvZGVjdnQ8d2NoYXJfdD46OmRvX2VuY29kaW5nKTogUmV0dXJuIHNpemVvZgoJd2NoYXJfdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0X21lbWJlcnNfdW5pY29kZV9jaGFyLmNjICh0ZXN0MDEpOgoJQ2hhbmdlIGV4cGVjdGVkIGVuY29kaW5nIG91dHB1dC4KCSh0ZXN0MDIpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnRfbWVtYmVyc193Y2hhcl90X2NoYXIuY2MgKHRlc3QwMSk6IFNhbWUuCgkodGVzdDAyKTogU2FtZS4KCjIwMDItMDItMDcgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KICAgICAgICAgICAgV29sZmdhbmcgQmFuZ2VydGggIDx3b2xmZ2FuZy5iYW5nZXJ0aEBpd3IudW5pLWhlaWRlbGJlcmcuZGU+CgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfaW9zLnRjYyAoYmFzaWNfaW9zOjpuYXJyb3cpOiBBZGQgZGVmYXVsdCB2YWx1ZS4KCShiYXNpY19pb3M6OndpZGVuKTogU2FtZS4KCjIwMDItMDItMDcgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldF9tZW1iZXJzX2NoYXIuY2M6CglBZGQgY29tbWVudCwgdGlkeSB1cC4KCSh0ZXN0MDEpOiBtb3JlICJlbl9ISyIgdGVzdHMgKHdpdGhvdXQgc2hvd2Jhc2UpLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldF9tZW1iZXJzX3djaGFyX3QuY2M6IERpdHRvLgoKMjAwMi0wMi0wNiAgTG9yZW4gUml0dGxlIDxsanJpdHRsZUBhY20ub3JnPgoKCSogY29uZmlnL2xvY2FsZS9jX2xvY2FsZV9nZW5lcmljLmNjOiBEbyBub3QgdHJ1c3QKCV9HTElCQ1BQX0hBVkVfU1RSVE9GIG9yIF9HTElCQ1BQX0hBVkVfU1RSVE9MRCBhcwoJc2V0IGJ5IGNvbmZpZ3VyZS4KCjIwMDItMDItMDYgIExvcmVuIFJpdHRsZSA8bGpyaXR0bGVAYWNtLm9yZz4KCgkqIGFjaW5jbHVkZS5tNDogQWRkIEMrKyBsaW5rYWdlIGNoZWNrIGZvciBzdHJ0b2YuCgkqIGFjbG9jYWwubTQ6IFJlYnVpbHQuCgkqIGNvbmZpZy5oLmluOiBSZWJ1aWx0LgoJKiBjb25maWd1cmU6IFJlYnVpbHQuCgkqIGNvbmZpZy9sb2NhbGUvY19sb2NhbGVfZ2VuZXJpYy5jYzogQ29uZGl0aW9uYWxseSBpbmNsdWRlCgk8aWVlZWZwLmg+LiAgSW1wcm92ZSBoYW5kbGluZyBhbmQgZXJyb3IgY2hlY2tpbmcgb2YgZmxvYXQKCWFuZCBsb25nIGRvdWJsZSBpbnB1dCBmb3Igbm9uLUM5OSBjb25maWd1cmF0aW9ucy4KCjIwMDItMDItMDYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG1vbmV5X2dldDo6ZG9fZ2V0KHN0cmluZykpOgoJSW4gY2FzZSBtb25leV9iYXNlOjpzeW1ib2wgZGVhbCBwcm9wZXJseSB3aXRoIG11bHRpLWNoYXIgc2lnbgoJZm9yIHBhdHRlcm5zIHtYLFksWixzeW1ib2x9IGFuZCB7WCxZLHN5bWJvbCxub25lfS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXRfbWVtYmVyc19jaGFyLmNjOiBBZGQgdGVzdDA3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldF9tZW1iZXJzX3djaGFyX3QuY2M6IEFkZCB0ZXN0MDcuCgoyMDAyLTAyLTA1ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChtb25leV9nZXQ6OmRvX2dldChzdHJpbmcpKToKCUZpcnN0IGNvbnN0cnVjdCBhIHRlbnRhdGl2ZSByZXR1cm5lZCBzdHJpbmcsIHRoZW4sIG9ubHkgaWYgdGhlCglwYXJzaW5nIHN1Y2NlZWRzLCBjb3B5IGl0IGludG8gdGhlIHN0cmluZyBwYXNzZWQgYnkgcmVmZXJlbmNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldF9tZW1iZXJzX2NoYXIuY2M6IEFkZCB0ZXN0MDYuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0X21lbWJlcnNfd2NoYXJfdC5jYzogQWRkIHRlc3QwNi4KCjIwMDItMDItMDQgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGRvY3MvZG94eWdlbi9UT0RPOiAgSW1wbC1kZWZpbmVkIGJlaGF2aW9yIG5vdyBkb2N1bWVudGVkLi4uCgkqIGRvY3MvaHRtbC8xN19pbnRyby9ob3d0by5odG1sOiAgLi4uaGVyZS4KCSogZG9jcy9kb3h5Z2VuL21haW5wYWdlLmRveHk6ICBSZW1vdmUsIHJlbmFtZS4uLgoJKiBkb2NzL2RveHlnZW4vbWFpbnBhZ2UuaHRtbDogIC4uLnRvIHRoaXMuICBUd2VhayBIVE1MLCBhZGQgbGljZW5zZS4KCSogZG9jcy9kb3h5Z2VuL3N0eWxlLmNzczogIEFkZCBzbWFsbCB0ZXh0LgoJKiBkb2NzL2RveHlnZW4vcnVuX2RveHlnZW46ICBBZGp1c3QgZm9yIG5ldyBtYWlucGFnZS4KCSogZG9jcy9kb3h5Z2VuL3VzZXIuY2ZnLmluOiAgTGlrZXdpc2UuCgoyMDAyLTAyLTA0ICBTdGVwaGFuIEJ1eXMgIDxzYnByb3h5QGljb24uY28uemE+CgoJKiBpbmNsdWRlL2JpdHMvc3RsX21hcC5oOiAgSW5pdGlhbCBkb3h5Z2VuIG1hcmt1cC4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaDogIEluaXRpYWwgZG94eWdlbiBtYXJrdXAuCgoyMDAyLTAyLTA0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCWxpYnN0ZGMrKy81NTc5CgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAobW9uZXlfZ2V0Ojpkb19nZXQoc3RyaW5nKSk6CglEZWFsIGNvcnJlY3RseSB3aXRoICEoX19pby5mbGFncygpICYgaW9zX2Jhc2U6OnNob3diYXNlKQoJZm9yIGNhc2UgbW9uZXlfYmFzZTo6c3ltYm9sLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldF9tZW1iZXJzX2NoYXIuY2M6IEFkZCB0ZXN0MDUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0X21lbWJlcnNfd2NoYXJfdC5jYzogQWRkIHRlc3QwNS4KCjIwMDItMDItMDIgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL29wZXJhdG9ycy5jYwoJKGdudV9jb2xsYXRlOjpkb19jb21wYXJlKCkpOiBBZGQgcmV0dXJuIHN0YXRlbWVudCB0bwoJc3VwcHJlc3MgIm5vIHJldHVybiBzdGF0ZW1lbnQiIHdhcm5pbmcuCgoyMDAyLTAyLTAxICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlLzI3X2lvL29zdHJlYW1fbWFuaXAuY2M6IEVuYWJsZSB0ZXN0MDIuCgoyMDAyLTAyLTAxICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2h0bWwvZG9jdW1lbnRhdGlvbi5odG1sOiAgVXBkYXRlIGZvciAzLjAuOTYuCgkqIGRvY3MvaHRtbC9mYXEvaW5kZXguaHRtbDogIFVwZGF0ZSBmb3IgMy4wLjk2LgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4LnR4dDogIFJlZ2VuZXJhdGVkLgoJKiBkb2NzL2RveHlnZW4vVE9ETzogIFVwZGF0ZSBub3Rlcy4KCSogZG9jcy9odG1sLzE3X2ludHJvL2hvd3RvLmh0bWw6ICBJbml0aWFsIGltcGwtc3BlY2lmaWMgbGlzdGluZy4KCjIwMDItMDEtMzEgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy9sb2NhbGUvY29kZWN2dF9zcGVjaWFsaXphdGlvbnNfaWVlZV8xMDAzLjEtMjAweC5oOgoJSW5pdGlhbGl6ZSBhbGwgZGF0YSBtZW1iZXJzIGluIGNvcHkgY3Rvci4gTWFrZSBjdG9ycyBleHBsaWNpdC4KCShfX2VuY190cmFpdHM6Ol9fZW5jX3RyYWl0cygpKTogRGVmYXVsdCBjdG9yIGRvZXMgbm90aGluZy4KCShfX2VuY190cmFpdHM6Ol9NX2luaXQpOiBHdWFyZCBhZ2FpbnN0IG11bHRpcGxlIGljb252X29wZW5zLgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oIChiYXNpY19zdHJpbmdidWYpOiBNYWtlIGRhdGEgbWVtYmVycwoJcHJvdGVjdGVkLgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oIChiYXNpY19maWxlYnVmKTogU2FtZS4KCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oOiBUd2Vhay4KCSogaW5jbHVkZS9iaXRzL3N0cmVhbWJ1Zi50Y2M6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjOiBTYW1lLgoKMjAwMi0wMS0zMSAgTG9yZW4gUml0dGxlIDxsanJpdHRsZUBhY20ub3JnPgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0X21lbWJlcnNfY2hhcl9jaGFyLmNjOiBEbyBub3QKCWFsbG93IE5VTEwgYXJndW1lbnQgdG8gYmUgcGFzc2VkIHRvIHNldGVudigpLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnRfbWVtYmVyc193Y2hhcl90X2NoYXIuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGVfbWVtYmVyc19jaGFyLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlX21lbWJlcnNfd2NoYXJfdC5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfbWVtYmVyc19jaGFyLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV9tZW1iZXJzX3djaGFyX3QuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzX21lbWJlcnNfY2hhci5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0X21lbWJlcnNfY2hhci5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0X21lbWJlcnNfd2NoYXJfdC5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0X21lbWJlcnNfY2hhci5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0X21lbWJlcnNfd2NoYXJfdC5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlwdW5jdF9tZW1iZXJzX2NoYXIuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5cHVuY3RfbWVtYmVyc193Y2hhcl90LmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0X21lbWJlcnNfY2hhci5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldF9tZW1iZXJzX3djaGFyX3QuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXRfbWVtYmVyc19jaGFyLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fcHV0X21lbWJlcnNfd2NoYXJfdC5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtcHVuY3RfbWVtYmVyc19jaGFyLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1wdW5jdF9tZW1iZXJzX3djaGFyX3QuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0X21lbWJlcnNfY2hhci5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXRfbWVtYmVyc193Y2hhcl90LmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dF9tZW1iZXJzX2NoYXIuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0X21lbWJlcnNfd2NoYXJfdC5jYzogTGlrZXdpc2UuCgoyMDAyLTAxLTMwICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBjb25maWcvbG9jYWxlL2NfbG9jYWxlX2dudS5jYzogU2FtZSBlcnJubyBmaXhlcyBhcyBnZW5lcmljLgoKCSogQ2hhbmdlTG9nLTIwMDE6IEZpeCBzcGVsbGluZyBlcnJvcnMuLi4KCSogZG9jcy9odG1sLzE3X2ludHJvL1JFTEVBU0UtTk9URVM6IFVwZGF0ZS4KCSogZG9jcy9odG1sLzE3X2ludHJvL1RPRE86IFVwZGF0ZS4KCSogUkVBRE1FIChmaWxlKTogVXBkYXRlLgoKMjAwMi0wMS0zMCAgTG9yZW4gUml0dGxlIDxsanJpdHRsZUBhY20ub3JnPgoKCSogY29uZmlnL2xvY2FsZS9jX2xvY2FsZV9nZW5lcmljLmNjOiBDaGVjayBlcnJubyBmb3IgRVJBTkdFCglpbnN0ZWFkIG9mIG5vbi16ZXJvIHRvIGFpZCBwb3J0YWJpbGl0eS4KCjIwMDItMDEtMzAgIFBldGVyIFNjaG1pZCAgPHNjaG1pZEBzbmFrZS5pYXAucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KCgkqIGRvY3MvaHRtbC8yMl9sb2NhbGUvbWVzc2FnZXMuaHRtbDogRml4IGV4YW1wbGUgY29kZS4KCjIwMDItMDEtMzAgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvMjdfaW8vb3N0cmVhbV9pbnNlcnRlcl9hcml0aC5jYyAodGVzdDAzX2NoZWNrKTogQnJlYWsKCW91dCBmcm9tIHRlc3QwMyBhbmQgdGVtcGxhdGl6ZS4KCSh0ZXN0MDMpOiBVc2UgaXQuCgoyMDAyLTAxLTMwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogY29uZmlnL2xvY2FsZS9udW1wdW5jdF9tZW1iZXJzX2dudS5jYwoJKG51bXB1bmN0PGNoYXIsIHdjaGFyX3Q+OjpfTV9pbml0aWFsaXplX251bXB1bmN0KCkpOgoJRml4IGluaXRpYWxpemF0aW9uIG9mIF9NX2dyb3VwaW5nIGZvciBsb2NhbGVzIHdoaWNoIGhhdmUKCV9NX3Rob3VzYW5kc19zZXAgPT0gJ1wwJyhMJ1wwJywgcmVzcGVjdGl2ZWx5KS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1wdW5jdF9ieW5hbWUuY2MgKHRlc3QwMik6IEFkZCB0ZXN0LgoKMjAwMi0wMS0zMCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yN19pby9vc3RyZWFtX2luc2VydGVyX2FyaXRoLmNjICh0ZXN0MDMpOgoJQmV0dGVyIGZpeCBmb3IgMzIvNjQgYml0IGFyY2hpdGVjdHVyZXMsIGF2b2lkaW5nIHRoZQoJaW1wbGljaXQgYXNzdW1wdGlvbiB0aGF0IENIQVJfQklUID09IDguCgoyMDAyLTAxLTI4ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBNYWtlZmlsZS5hbSAoZG94eWdlbiwgZG94eWdlbi1tYWludCwgZG94eWdlbi1tYW4pOiAgVHdlYWsgdGFyZ2V0cy4KCSogTWFrZWZpbGUuaW46ICBSZWdlbmVyYXRlLgoKCSogZG9jcy9kb3h5Z2VuL3J1bl9kb3h5Z2VuOiAgVXBkYXRlLCBtb3N0bHkgZm9yIG1hbiBwYWdlcy4KCSogZG9jcy9kb3h5Z2VuL0ludHJvLjM6ICBVcGRhdGUuCgkqIGRvY3MvZG94eWdlbi9UT0RPOiAgVXBkYXRlLgoJKiBkb2NzL2RveHlnZW4vZG94eWdyb3Vwcy5jYzogIEFkZCBuYW1lc3BhY2UgaG9vayBmb3IgX19nbnVfY3h4LgoJKiBkb2NzL2RveHlnZW4vbWFpbnBhZ2UuZG94eTogIFVwZGF0ZS4KCSogZG9jcy9kb3h5Z2VuL3VzZXIuY2ZnLmluOiAgVXBkYXRlIGZvciBoZWFkZXIgcmVuYW1lLiAgQWxzbwoJcmVnZW5lcmF0ZSBjb21tZW50cyBhbmQgdmFyaWFibGVzIHdpdGggMS4yLjEyLgoJKiBkb2NzL2RveHlnZW4vbWFpbnQuY2ZnLmluOiAgUmVtb3ZlIGZpbGUuCgoJKiBpbmNsdWRlL2JpdHMvc3RsX3JlbG9wcy5oOiAgRG94eWdlbmF0ZS4KCSogaW5jbHVkZS9iaXRzL3N0bF90ZW1wYnVmLmggKHN0ZDo6X1RlbXBvcmFyeV9idWZmZXIpOiAgTGlrZXdpc2UuCgoJKiBpbmNsdWRlL2Nfc3RkL3N0ZF9jYXNzZXJ0LmgsIGluY2x1ZGUvY19zdGQvc3RkX2NjdHlwZS5oLAoJaW5jbHVkZS9jX3N0ZC9zdGRfY2Vycm5vLmgsIGluY2x1ZGUvY19zdGQvc3RkX2NmbG9hdC5oLAoJaW5jbHVkZS9jX3N0ZC9zdGRfY2lzbzY0Ni5oLCBpbmNsdWRlL2Nfc3RkL3N0ZF9jbGltaXRzLmgsCglpbmNsdWRlL2Nfc3RkL3N0ZF9jbG9jYWxlLmgsIGluY2x1ZGUvY19zdGQvc3RkX2NtYXRoLmgsCglpbmNsdWRlL2Nfc3RkL3N0ZF9jc2V0am1wLmgsIGluY2x1ZGUvY19zdGQvc3RkX2NzaWduYWwuaCwKCWluY2x1ZGUvY19zdGQvc3RkX2NzdGRhcmcuaCwgaW5jbHVkZS9jX3N0ZC9zdGRfY3N0ZGRlZi5oLAoJaW5jbHVkZS9jX3N0ZC9zdGRfY3N0ZGlvLmgsIGluY2x1ZGUvY19zdGQvc3RkX2NzdGRsaWIuaCwKCWluY2x1ZGUvY19zdGQvc3RkX2NzdHJpbmcuaCwgaW5jbHVkZS9jX3N0ZC9zdGRfY3RpbWUuaCwKCWluY2x1ZGUvY19zdGQvc3RkX2N3Y2hhci5oLCBpbmNsdWRlL2Nfc3RkL3N0ZF9jd2N0eXBlLmgsCglpbmNsdWRlL2V4dC9hbGdvcml0aG0sIGluY2x1ZGUvZXh0L2Z1bmN0aW9uYWwsIGluY2x1ZGUvZXh0L2hhc2hfbWFwLAoJaW5jbHVkZS9leHQvaGFzaF9zZXQsIGluY2x1ZGUvZXh0L2l0ZXJhdG9yLCBpbmNsdWRlL2V4dC9tZW1vcnksCglpbmNsdWRlL2V4dC9udW1lcmljLCBpbmNsdWRlL2V4dC9yYl90cmVlLCBpbmNsdWRlL2V4dC9yb3BlLAoJaW5jbHVkZS9leHQvcm9wZWltcGwuaCwgaW5jbHVkZS9leHQvc2xpc3QsIGluY2x1ZGUvZXh0L3N0bF9oYXNoX2Z1bi5oLAoJaW5jbHVkZS9leHQvc3RsX2hhc2h0YWJsZS5oLCBpbmNsdWRlL2V4dC9zdGxfcm9wZS5oLAoJaW5jbHVkZS9zdGQvc3RkX2FsZ29yaXRobS5oLCBpbmNsdWRlL3N0ZC9zdGRfYml0c2V0LmgsCglpbmNsdWRlL3N0ZC9zdGRfY29tcGxleC5oLCBpbmNsdWRlL3N0ZC9zdGRfZGVxdWUuaCwKCWluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmgsIGluY2x1ZGUvc3RkL3N0ZF9mdW5jdGlvbmFsLmgsCglpbmNsdWRlL3N0ZC9zdGRfaW9tYW5pcC5oLCBpbmNsdWRlL3N0ZC9zdGRfaW9zLmgsCglpbmNsdWRlL3N0ZC9zdGRfaW9zZndkLmgsIGluY2x1ZGUvc3RkL3N0ZF9pb3N0cmVhbS5oLAoJaW5jbHVkZS9zdGQvc3RkX2lzdHJlYW0uaCwgaW5jbHVkZS9zdGQvc3RkX2l0ZXJhdG9yLmgsCglpbmNsdWRlL3N0ZC9zdGRfbGltaXRzLmgsIGluY2x1ZGUvc3RkL3N0ZF9saXN0LmgsCglpbmNsdWRlL3N0ZC9zdGRfbG9jYWxlLmgsIGluY2x1ZGUvc3RkL3N0ZF9tYXAuaCwKCWluY2x1ZGUvc3RkL3N0ZF9tZW1vcnkuaCwgaW5jbHVkZS9zdGQvc3RkX251bWVyaWMuaCwKCWluY2x1ZGUvc3RkL3N0ZF9vc3RyZWFtLmgsIGluY2x1ZGUvc3RkL3N0ZF9xdWV1ZS5oLAoJaW5jbHVkZS9zdGQvc3RkX3NldC5oLCBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oLAoJaW5jbHVkZS9zdGQvc3RkX3N0YWNrLmgsIGluY2x1ZGUvc3RkL3N0ZF9zdGRleGNlcHQuaCwKCWluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaCwgaW5jbHVkZS9zdGQvc3RkX3N0cmluZy5oLAoJaW5jbHVkZS9zdGQvc3RkX3V0aWxpdHkuaCwgaW5jbHVkZS9zdGQvc3RkX3ZhbGFycmF5LmgsCglpbmNsdWRlL3N0ZC9zdGRfdmVjdG9yLmg6ICBBZGQvY29ycmVjdCBAZmlsZSBkb3h5Z2VuIGhvb2suCgoJKiBpbmNsdWRlL2V4dC9tZW1vcnk6ICBEb3h5Z2VuYXRlIG1vc3Qgb2YgcmVzdCBvZiBmaWxlLgoJKiBsaWJzdXBjKysvZXhjZXB0aW9uOiAgRG94eWdlbiBvdXRwdXQgZm9ybWF0dGluZy4KCSogbGlic3VwYysrL25ldzogIFNheSB3aGljaCBoZWFkZXIgaXQgaXMuCgoJKiB0ZXN0c3VpdGUvbGliL2xpYnN0ZGMrKy12My1kZy5leHA6ICBGaXggc3BhY2luZy4KCSogZG9jcy9odG1sLzE5X2RpYWdub3N0aWNzL2hvd3RvLmh0bWw6ICBEZXNjcmliZSBjb25jZXB0LWNoZWNrcyBzd2l0Y2guCgkqIGRvY3MvaHRtbC8yM19jb250YWluZXJzL2hvd3RvLmh0bWw6ICBEZXNjcmliZSBPKG4pIGxpc3Q6OnNpemUoKS4KCSogZG9jcy9odG1sLzI3X2lvL2hvd3RvLmh0bWw6ICBBbHNvIGxpbmsgdG8gTGFuZ2VyIGFuZCBLcmVmdCB0ZXh0LgoKMjAwMi0wMS0yOCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KICAgICAgICAgICAgQ2hhcmxlcyBMZWdnZXR0IDxDR0xlZ2dldHRAbGJsLmdvdj4KCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmX21lbWJlcnMuY2MgKHRlc3RfMDUpOiBBZGQgdGVzdC4KCjIwMDItMDEtMjggIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiB0ZXN0c3VpdGUvMjdfaW8vb3N0cmVhbV9pbnNlcnRlcl9hcml0aC5jYyAodGVzdDAzKToKCUZpeCB0byBkZWFsIGNvcnJlY3RseSB3aXRoIGJvdGggMzIgYml0IGFuZCA2NCBiaXQgYXJjaGl0ZWN0dXJlcwoKMjAwMi0wMS0yNSAgTG9yZW4gUml0dGxlIDxsanJpdHRsZUBhY20ub3JnPgoKCSogdGVzdHN1aXRlL3RocmVhZC9wdGhyZWFkMS5jYzogVXNlIG9uZSBjb25kaXRpb24gdmFyaWFibGUKCXBlciBwcmVkaWNhdGUgaW5zdGVhZCBvZiB0cmlja3kgdXNlIG9mIG9uZSBjb25kaXRpb24gdmFyaWFibGUuCgoyMDAyLTAxLTI1ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGZpbGVidWY6OmNsb3NlKCkpOiBGaXggY2xvc2UgZm9yIGlucHV0CglzdHJlYW1zLgoJKGZpbGVidWY6Ol9NX3JlYWxseV9vdmVyZmxvdyk6IE1hdGNoIGluZGV0ZXJtaW5hdGUgYW5kIHN5bmMgY2FsbHMuCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmLmNjOiBDb21waWxlIG9ubHkuCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmX21lbWJlcnMuY2M6IE1vdmUgdGVzdHMgdG8gaGVyZS4KCSogdGVzdHN1aXRlLzI3X2lvL2ZpbGVidWZfdmlydHVhbHMuY2M6IEFuZCBoZXJlLgoJUmV2ZXJ0IHN1bmdldGMsIHN5bmMgY2hhbmdlcyBmb3IgZXhwZWN0ZWQgdmFsdWVzLgoJKiB0ZXN0c3VpdGUvMjdfaW8vZmlsZWJ1Zi0qOiBNb3ZlIHRvLi4uCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmX3ZpcnR1YWxzLSo6IC4uLmhlcmUuCgkqIHRlc3RzdWl0ZS8yN19pby9pc3RyZWFtLmNjOiBDb21waWxlIG9ubHksIGFjdGl2YXRlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vb3N0cmVhbS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2lvc3RyZWFtLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9pb3N0cmVhbV9tZW1iZXJzLmNjOiBOZXcuCgoyMDAyLTAxLTI1ICBEYXZpZCBCaWxsaW5naHVyc3QgPERhdmlkLkJpbGxpbmdodXJzdEByaW90aW50by5jb20+CgoJKiB0ZXN0c3VpdGUvdGhyZWFkL3B0aHJlYWQxLmNjOiBFbmFibGUgb24gY3lnd2luLgoJKiB0ZXN0c3VpdGUvdGhyZWFkL3B0aHJlYWQyLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL3RocmVhZC9wdGhyZWFkMy5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDQuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvdGhyZWFkL3B0aHJlYWQ1LmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL3RocmVhZC9wdGhyZWFkNi5jYzogTGlrZXdpc2UuCgoyMDAyLTAxLTI0ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvMjdfaW8vb3N0cmVhbV9pbnNlcnRlcl9jaGFyLmNjICh0ZXN0MDcpOiBOZXcuCgoyMDAyLTAxLTI0ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfaW9zLmggKGJhc2ljX2lvczo6X01fY2hlY2tfZmFjZXQpOiBNYWtlCgljb25zdCwgdHdlYWsuCgkoYmFzaWNfaW9zOjpmaWxsKGNoYXJfdHlwZSkpOiBVc2UgZmlsbCgpLgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfaW9zLnRjYyAoYmFzaWNfaW9zOjp3aWRlbik6IFVzZSBfTV9jaGVja19mYWNldC4KCShiYXNpY19pb3M6Om5hcnJvdyk6IFNhbWUuCgkoYmFzaWNfaW9zOjpfTV9jYWNoZV9mYWNldHMpOiBFeHBsaWNpdGx5IHNldCBjYWNoZWQgZmFjZXRzIHRvIHplcm8KCWlmIHRoZXkgYXJlIGludmFsaWQuCgkoYmFzaWNfaW9zOjppbml0KTogQ29tbWVudC4KCSogdGVzdHN1aXRlLzI3X2lvL2lvc19pbml0LmNjICh0ZXN0MDIpOiBOZXcuCgoyMDAyLTAxLTI0ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBpbmNsdWRlL2JpdHMvc3RsX3RlbXBidWYuaCAoX1RlbXBvcmFyeV9idWZmZXIpOiAgQWRkIGRveHlnZW4gaG9vay4KCSogaW5jbHVkZS9iaXRzL3N0bF9hbGdvLmg6ICBJbmNsdWRlIHN0bF90ZW1wYnVmLmguCgkqIGluY2x1ZGUvZXh0L21lbW9yeTogIERvIG5vdCBpbmNsdWRlIHN0bF90ZW1wYnVmLmguCgkodGVtcG9yYXJ5X2J1ZmZlcik6ICBBZGQgZG94eWdlbiBob29rLgoJKF9fZ2V0X3RlbXBvcmFyeV9idWZmZXIsIGdldF90ZW1wb3JhcnlfYnVmZmVyLAoJcmV0dXJuX3RlbXBvcmFyeV9idWZmZXIpOiAgTW92ZSBiYWNrIHRvIHN0ZDo6IGhlYWRlci4uLgoJKiBpbmNsdWRlL3N0ZC9zdGRfbWVtb3J5Lmg6ICAuLi5oZXJlLiAgRG8gbm90IGluY2x1ZGUgc3RsX3RlbXBidWYuaC4KCSogaW5jbHVkZS9leHQvcm9wZTogIERvIG5vdCBpbmNsdWRlIHN0bF90ZW1wYnVmLmguCgkqIGluY2x1ZGUvZXh0L3N0bF9oYXNodGFibGUuaDogIExpa2V3aXNlLgoJKiBpbmNsdWRlL3N0ZC9zdGRfYWxnb3JpdGhtLmg6ICBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIwX3V0aWwvdGVtcG9yYXJ5X2J1ZmZlci5jYzogIE5ldyBmaWxlLgoKMjAwMi0wMS0yNCAgYW5kcmV3QGFuZHlwby5uZXQKCSAgICAodHdlYWtzLCB0ZXN0IGFuZCBjb21taXQgYnkgTG9yZW4gSi4gUml0dGxlICA8bGpyaXR0bGVAYWNtLm9yZz4pCgoJbGlic3RkYysrLzU0MzIKCSogaW5jbHVkZS9iaXRzL2lvc19iYXNlLmg6IFVzZSBfQXRvbWljX3dvcmQgZm9yIHJlZmVyZW5jZSBjb3VudHMuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVmd2QuaDogTGlrZXdpc2UuCglBbHNvIHVzZSBmb3Igc3RkOjpsb2NhbGU6OmlkOjpfU19oaWdod2F0ZXIuCgkqIHNyYy9pb3MuY2MgKGlvc19iYXNlOjp4YWxsb2MpOiBVc2UgX0F0b21pY193b3JkLgoJKiBzcmMvbG9jYWxlLmNjOiBTdXBwb3J0IG5ldyB1c2FnZSBvZiBfQXRvbWljX3dvcmQuCgkoc3RkOjpsb2NhbGU6OmNsYXNzaWMpOiBHdWFyZCBlbnRpcmUgZnVuY3Rpb24gYWdhaW5zdCByZWVudHJ5LgoJKiBzcmMvbG9jYWxlbmFtZS5jYzogU3VwcG9ydCBuZXcgdXNhZ2Ugb2YgX0F0b21pY193b3JkLgoKMjAwMi0wMS0yNCAgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwMyk6IFVzZQoJX0dMSUJDUFBfSEFWRV9TRVRFTlYuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dF9tZW1iZXJzX3djaGFyX3RfY2hhci5jYyAodGVzdDAyKTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlX21lbWJlcnNfY2hhci5jYyAodGVzdDAyKTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwMyk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDMpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzX21lbWJlcnNfY2hhci5jYyAodGVzdDAyKTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leXB1bmN0X21lbWJlcnNfY2hhci5jYyAodGVzdDAyKTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leXB1bmN0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDAyKTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXRfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDQpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X3B1dF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwNCk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwMyk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwMyk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtcHVuY3RfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDIpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDAyKTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwNyk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXRfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDcpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0X21lbWJlcnNfY2hhci5jYyAodGVzdDAzKTogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwMyk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwMyk6IFNhbWUuCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9DT05GSUdVUkVfVEVTVFNVSVRFKTogQ2hlY2sgZm9yIHNldGVudi4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBjb25maWcuaC5pbjogUmVnZW5lcmF0ZS4KCjIwMDItMDEtMjMgIExvcmVuIFJpdHRsZSA8bGpyaXR0bGVAYWNtLm9yZz4KCgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDEuY2M6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvdGhyZWFkL3B0aHJlYWQyLmNjOiBOZXcgdGVzdCBhZGFwdGVkIGZyb20gbGlic3RkYysrLzUzNDcuCgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDMuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvdGhyZWFkL3B0aHJlYWQ0LmNjOiBOZXcgdGVzdCBhZGFwdGVkIGZyb20KCWh0dHA6Ly9nY2MuZ251Lm9yZy9tbC9nY2MtYnVncy8yMDAyLTAxL21zZzAwNjc5Lmh0bWwKCSogdGVzdHN1aXRlL3RocmVhZC9wdGhyZWFkNS5jYzogTmV3IHRlc3QgYWRhcHRlZCBmcm9tIGxpYnN0ZGMrKy81NDY0LgoJKiB0ZXN0c3VpdGUvdGhyZWFkL3B0aHJlYWQ2LmNjOiBOZXcgdGVzdCBhZGFwdGVkIGZyb20gbGlic3RkYysrLzU0NDQuCgoyMDAyLTAxLTIzICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy81MTk4CgkqIGNvbmZpZy9jcHUvbTY4ay9iaXRzL2F0b21pY2l0eS5oIChfX2V4Y2hhbmdlX2FuZF9hZGQpOiBPbmx5IHVzZQoJQ0FTIG9uIHRoZSBjcHUgdmFyaWFudHMgdGhhdCBzdXBwb3J0IGl0LiAgQWRkIHZlcnNpb25zIHRoYXQgdXNlCglUQVMgYW5kIHRoYXQgZGlzYWJsZSBpbnRlcnJ1cHRzLgoJKF9fYXRvbWljX2FkZCk6IFVzZSBfX2V4Y2hhbmdlX2FuZF9hZGQgdG8gZ3VhcmFudGVlIGF0b21pY2l0eS4KCjIwMDItMDEtMjMgIE1hdHQgS3JhYWkgIDxrcmFhaUBhbHVtbmkuY211LmVkdT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYzogUmVtb3ZlIG9sZCBjb21tZW50cy4KCjIwMDItMDEtMjMgIEFuZHJlYXMgVG9ibGVyICA8dG9hQHBvcC5hZ3JpLmNoPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChfX2NvbnZlcnRfdG9fdik6IENoYW5nZSB0ZW1wbGF0ZQoJcGFyYW1ldGVyIHRvIF9Udi4KCShfX2NvbnZlcnRfZnJvbV92KTogU2FtZS4KCjIwMDItMDEtMjMgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKG51bV9nZXQ6Ol9NX2V4dHJhY3RfaW50KTogQ2hhbmdlCglwcm90b3R5cGUuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAobnVtX2dldDo6X01fZXh0cmFjdF9pbnQpOiBSZW1vdmUKCV9fbWF4X2RpZ2l0cyBjaGVja3MsIGFkanVzdCBhcmd1bWVudHMuCgkobnVtX2dldDo6ZG9fZ2V0KCopKTogQ2hhbmdldXAuCgoyMDAyLTAxLTIzICBMb3JlbiBSaXR0bGUgPGxqcml0dGxlQGFjbS5vcmc+CgogICAgICAgICogY29uZmlnL2xvY2FsZS9jX2xvY2FsZV9nZW5lcmljLmNjOiBGaXggdHlwZW5hbWUgdXNhZ2UuCgoyMDAyLTAxLTIyICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBjb25maWcvbG9jYWxlL2NfbG9jYWxlX2dlbmVyaWMuY2M6IEZpeC4KCjIwMDItMDEtMjIgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGRvY3MvaHRtbC8yMl9sb2NhbGUvbWVzc2FnZXMuaHRtbDogUmVtb3ZlIGFuZ2xlIGJyYWNrZXRzLgoJKiBkb2NzL2h0bWwvMTdfaW50cm8vVE9ETzogQWRkLgoKMjAwMi0wMS0yMiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfbWFuaXBfYmFzZWZpZWxkLmNjOiBFbmFibGUgdGVzdDAyLgoJKiB0ZXN0c3VpdGUvMjdfaW8vb3N0cmVhbV9pbnNlcnRlcl9hcml0aC5jYzogRW5hYmxlIHRlc3QwMy4KCSogdGVzdHN1aXRlLzI3X2lvL29zdHJlYW1faW5zZXJ0ZXJfY2hhci5jYzogRW5hYmxlIHRlc3QwMS4KCSogdGVzdHN1aXRlLzI3X2lvL29zdHJlYW1faW5zZXJ0ZXJfb3RoZXIuY2M6IEVuYWJsZSB0ZXN0MDQuCgoyMDAyLTAxLTIyICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJQXVkaXQgZm9yIExBTkcgaW5kZXBlbmRlbmNlLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlZndkLmg6IFR3ZWFrcy4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChtb25leV9nZXQ6OmRvX2dldChsb25nIGRvdWJsZSkpOgoJVXNlIF9fY29udmVydF90b192LgoJKHRpbWVfZ2V0Ojpkb19nZXRfeWVhcik6IFNhbWUuCgkoX19jb252ZXJ0X2Zyb21fdik6IEFkZC4KCShudW1fcHV0OjpfTV9jb252ZXJ0X2Zsb2F0KTogVXNlLgoJKG51bV9wdXQ6Ol9NX2NvbnZlcnRfaW50KTogU2FtZS4KCShtb25leV9wdXQ6OmRvX3B1dCk6IFNhbWUuCgoJKiBzcmMvbG9jYWxlLWluc3QuY2M6IEFkZCBpbnN0YW50aWF0aW9ucyBmb3IgX19jb252ZXJ0X2Zyb21fdi4KCSogY29uZmlnL2xvY2FsZS90aW1lX21lbWJlcnNfZ251LmNjOiBDbGVhbnVwIHNldGxvY2FsZSB1c2FnZS4KCSogY29uZmlnL2xvY2FsZS90aW1lX21lbWJlcnNfZ2VuZXJpYy5jYzoKCSogY29uZmlnL2xvY2FsZS9tZXNzYWdlc19tZW1iZXJzX2dudS5jYzogU2FtZS4KCSogY29uZmlnL2xvY2FsZS9tZXNzYWdlc19tZW1iZXJzX2dudS5oOiBTYW1lLgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0X21lbWJlcnNfd2NoYXJfdF9jaGFyLmNjICh0ZXN0MDIpOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dF9tZW1iZXJzX2NoYXJfY2hhci5jYyAodGVzdDAyKTogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGVfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDIpOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZV9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwMik6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwMyk6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwMyk6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlc19tZW1iZXJzX2NoYXIuY2MgKHRlc3QwMik6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leXB1bmN0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDAyKTogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5cHVuY3RfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDIpOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDA0KTogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwNCk6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXRfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDQpOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0X21lbWJlcnNfY2hhci5jYyAodGVzdDA0KTogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDAyKTogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0X21lbWJlcnNfY2hhci5jYyAodGVzdDAyKTogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDAzKTogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0X21lbWJlcnNfY2hhci5jYyAodGVzdDAzKTogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDA3KTogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0X21lbWJlcnNfY2hhci5jYyAodGVzdDA3KTogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXRfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDMpOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwMyk6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fcHV0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDAzKTogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXRfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDMpOiBOZXcuCgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0X21lbWJlcnNfY2hhci5jYzogRml4dXBzIGZvciBnbG9iYWwKCWxvY2FsZSBpc3N1ZXMuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXRfbWVtYmVyc19jaGFyLmNjOiBTYW1lLgoKMjAwMi0wMS0yMiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCWxpYnN0ZGMrKy81MjgwCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVmd2QuaDogVHdlYWsgY29tbWVudHMuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKF9fY29udmVydF90b192KTogQWRkLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG51bV9nZXQ6OmRvX2dldChkb3VibGUpKTogVXNlIGl0LgoJKG51bV9nZXQ6OmRvX2dldChmbG9hdCkpOiBTYW1lLgoJKG51bV9nZXQ6OmRvX2dldChsb25nIGRvdWJsZSkpOiBTYW1lLgoJKG51bV9nZXQ6OmRvX2dldChib29sKSk6IFNhbWUuCgkobnVtX2dldDo6ZG9fZ2V0KGxvbmcpKTogU2FtZS4KCShudW1fZ2V0Ojpkb19nZXQobG9uZyBsb25nKSk6IFNhbWUuCgkobnVtX2dldDo6ZG9fZ2V0KHVuc2lnbmVkIGludCkpOiBTYW1lLgoJKG51bV9nZXQ6OmRvX2dldCh1bnNpZ25lZCBzaG9ydCkpOiBTYW1lLgoJKG51bV9nZXQ6OmRvX2dldCh1bnNpZ25lZCBsb25nKSk6IFNhbWUuCgkobnVtX2dldDo6ZG9fZ2V0KHVuc2lnbmVkIGxvbmcgbG9uZykpOiBTYW1lLgoJKiBjb25maWcvbG9jYWxlL2NfbG9jYWxlX2dudS5jYyAoX19jb252ZXJ0X3RvX3YpOiBTcGVjaWFsaXplLgoJKiBjb25maWcvbG9jYWxlL2NfbG9jYWxlX2dlbmVyaWMuY2M6IFNhbWUuCgoyMDAyLTAxLTIyICBMb3JlbiBSaXR0bGUgPGxqcml0dGxlQGFjbS5vcmc+CgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtIChjX2Jhc2VfYnVpbGRkaXIpOiBSZW1vdmUgcmVkdW5kYW50IHNsYXNoLgoJKHN0ZF9idWlsZGRpcik6IExpa2V3aXNlLgoJKHN0ZF9oZWFkZXJzX3JlbmFtZSk6IEZpeCBjdXQtbi1wYXN0ZSB0eXBvLgoJKGluc3RhbGwtZGF0YS1sb2NhbCk6IENvbmNhdCBwYXRoIHBlciBlbGVtZW50IGluc3RlYWQgb2Ygb25jZSB0bwoJZmlyc3QgZWxlbWVudCBvZiBsaXN0LgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWJ1aWx0LgoKMjAwMi0wMS0yMiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogY29uZmlnL29zL2FpeC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBGaXggZm9ybWF0dGluZy4KCSogY29uZmlnL29zL2JzZC9uZXRic2QvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogRml4IHR5cG8uCgkqIGNvbmZpZy9vcy9ic2QvZnJlZWJzZC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBGaXggZm9ybWF0dGluZy4KCjIwMDItMDEtMjAgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKGN0eXBlPGNoYXI+OjpjbGFzc2ljX3RhYmxlKToKCVJlbW92ZSBkZWZpbml0aW9uLgoJKGN0eXBlPGNoYXI+OjpfU19jdGFibGUpOiBSZW1vdmUuCgkqIGNvbmZpZy9vcy9nbnUtbGludXgvYml0cy9jdHlwZV9ub25pbmxpbmUuaAoJKGN0eXBlPGNoYXI+OjpfU190YWJsZSk6IFJlbW92ZSBkZWZpbml0aW9uLgoJKGN0eXBlPGNoYXI+OjpjbGFzc2ljX3RhYmxlKTogRGVmaW5lLgoJKGN0eXBlPGNoYXI+OjpjdHlwZSk6IFJlcGxhY2UgX1NfY3RhYmxlIHdpdGggY2xhc3NpY190YWJsZSgpLgoJKiBjb25maWcvb3MvYWl4L2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9ic2QvZnJlZWJzZC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvYnNkL25ldGJzZC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvZGpncHAvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCSogY29uZmlnL29zL2dlbmVyaWMvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCSogY29uZmlnL29zL2dudS1saW51eC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvaHB1eC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvaXJpeC9pcml4NS4yL2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9pcml4L2lyaXg2LjUvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCSogY29uZmlnL29zL21pbmd3MzIvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCSogY29uZmlnL29zL25ld2xpYi9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3Mvc29sYXJpcy9zb2xhcmlzMi41L2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9zb2xhcmlzL3NvbGFyaXMyLjYvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCSogY29uZmlnL29zL3NvbGFyaXMvc29sYXJpczIuNy9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoKMjAwMi0wMS0yMCAgRGFubnkgU21pdGggIDxkYW5ueXNtaXRoQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGNvbmZpZy9vcy9taW5ndzMyL2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IERlY2xhcmUgX2N0eXBlIGluc3RlYWQKCW9mIF9wY3R5cGUuIFVzZSB0byBkZWZpbmUgX1NfY3RhYmxlLiAgQWRkIGRlZmluaXRpb24gZm9yIGFsdGVybmF0ZQoJY3Rvci4gIEluaXRpYWxpc2UgX01fY3RhYmxlIHRvIF9TX2N0YWJsZSBpbiBjdG9ycy4KCShkb190b3VwcGVyLCBkb190b2xvd2VyKTogVXNlIGlubGluZSBjb2RlIGFwcHJvcHJpYXRlIGZvciBDLWxvY2FsZQoJcmF0aGVyIHRoYW4gOjp0b3VwcGVyLCA6OnRvbG93ZXIuCgoyMDAyLTAxLTE4ICBMb3JlbiBSaXR0bGUgPGxqcml0dGxlQGFjbS5vcmc+CgoJKiB0ZXN0c3VpdGUvMThfc3VwcG9ydC9udW1lcmljX2xpbWl0cy5jYyAodGVzdF9leHRyZW1hPGxvbmcgZG91YmxlPik6CglBZGQgc3BlY2lhbGl6YXRpb24gZm9yIEZyZWVCU0Qgc3lzdGVtcyBvbmx5IHRvIGF2b2lkIGxvc2luZyB0ZXN0Cglvbmx5IGR1ZSB0byBleHRyYSBwcmVjaXNpb24gdW5tZW50aW9uZWQgaW4gc3lzdGVtIGhlYWRlcnMuCgoyMDAyLTAxLTE4ICBEYXZpZCBCaWxsaW5naHVyc3QgPERhdmlkLkJpbGxpbmdodXJzdEByaW90aW50by5jb20+CgoJKiBjb25maWcvb3MvaXJpeC9pcml4Ni41L2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IEZpeCB0eXBvCgoyMDAyLTAxLTE3ICBOaWNrIENsaWZ0b24gIDxuaWNrY0BjYW1icmlkZ2UucmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS90ZXN0c3VpdGVfaG9va3MuaDogRml4IGNvbW1lbnQgdHlwby4gIE1lbW9yeQoJbGltaXRpbmcgaXMgb25seSBhdHRlbXB0ZWQgaWYgX0dMSUJDUFBfTUVNX0xJTUlUIGlzIGRlZmluZWQuCgoyMDAyLTAxLTE3ICBQZXRlciBTY2htaWQgIDxzY2htaWRAc25ha2UuaWFwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0b3JfY29weV9kdG9yLmNjOiBSZW1vdmUgY2hlY2suCgoyMDAyLTAxLTE3ICBEYXZpZCBFZGVsc29obiAgPGVkZWxzb2huQGdudS5vcmc+CgoJKiBjb25maWd1cmUudGFyZ2V0OiBEZWZpbmUgT1BUX0xERkxBR1MgZm9yIEFJWCBjYXNlLgoKMjAwMi0wMS0xNyAgR2FicmllbCBEb3MgUmVpcyAgPGdkckBtZXJsaW4uY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9saW1pdHMuaCAoX19nbGliY3BwX2Zsb2F0X2hhc19xdWlldF9OYU4sCglfX2dsaWJjcHBfZG91YmxlX2hhc19xdWlldF9OYU4pOiBDb3JyZWN0IG1pc3BlbGxpbmcuCgoyMDAyLTAxLTE3ICBBbmRyZWFzIFRvYmxlciAgPHRvYUBwb3AuYWdyaS5jaD4KCgkqIGNvbmZpZy9vcy9zb2xhcmlzL3NvbGFyaXMyLjYvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogRml4LgoKMjAwMi0wMS0xNiAgRGF2aWQgRWRlbHNvaG4gIDxkamVAd2F0c29uLmlibS5jb20+CgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfQ0hFQ0tfTElOS0VSX0ZFQVRVUkVTKTogRG8gbm90IGNsZWFyCglTRUNUSU9OX0xERkxBR1MgYW5kIE9QVF9MREZMQUdTLiAgRml4IGFjX3NlY3Rpb25MRGZsYWdzIHR5cGUuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDItMDEtMTYgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKGNfYmFzZV9oZWFkZXJzX3JlbmFtZSk6IE5ldy4KCShjX2Jhc2VfaGVhZGVyc19leHRyYSk6IE5ldy4KCShzdGFtcC1jX2Jhc2UpOiBNb2RpZnkuCgkoaW5zdGFsbC1kYXRhLWxvY2FsKTogVXNlIGJvdGguCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvYy9bY2N0eXBlIGNpc282NDYgY21hdGggY3N0ZGFyZyBjc3RkbGliIGNlcnJubyBjbGltaXRzCgljc2V0am1wIGNzdGRkZWYgY3N0cmluZyBjd2NoYXIgY2Fzc2VydCBjZmxvYXQgY2xvY2FsZSBjc2lnbmFsCgljc3RkaW8gY3RpbWUgY3djdHlwZV06IE1vdmUgdG8uLgoJKiBpbmNsdWRlL2Mvc3RkXyo6IEhlcmUuCgkqIGluY2x1ZGUvY19zdGQvW2NjdHlwZSBjaXNvNjQ2IGNtYXRoIGNzdGRhcmcgY3N0ZGxpYiBjZXJybm8gY2xpbWl0cwoJY3NldGptcCBjc3RkZGVmIGNzdHJpbmcgY3djaGFyIGNhc3NlcnQgY2Zsb2F0IGNsb2NhbGUgY3NpZ25hbAoJY3N0ZGlvIGN0aW1lIGN3Y3R5cGVdOiBNb3ZlIHRvLi4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfKjogSGVyZS4KCglBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCSogaW5jbHVkZS9NYWtlZmlsZS5hbSAoLlBSRUNJT1VTKTogQWRkIHJ1bGUuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDAyLTAxLTE2ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CiAgICAgICAgICAgIFBldGVyIFNjaG1pZCAgPHNjaG1pZEBzbmFrZS5pYXAucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KCgkqIGluY2x1ZGUvYml0cy9zdGxfaXRlcmF0b3IuaCAocmV2ZXJzZV9pdGVyYXRvcjo6X01fY3VycmVudCk6CglEZXVnbGlmeSwgc2hvdWxkIGJlIGN1cnJlbnQuCgkoYmFja19pbnNlcnRfaXRlcmF0b3I6Ol9NX2NvbnRhaW5lcik6IERldWdsaWZ5LCBzaG91bGQgYmUgY29udGFpbmVyLgoJKGZyb250X2luc2VydF9pdGVyYXRvcjo6X01fY29udGFpbmVyKTogU2FtZS4KCShpbnNlcnRfaXRlcmF0b3I6Ol9NX2NvbnRhaW5lcik6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yNF9pdGVyYXRvcnMvcmV2ZXJzZV9pdGVyYXRvci5jYzogQWRkIGNoZWNrLgoJKiB0ZXN0c3VpdGUvMjRfaXRlcmF0b3JzL2JhY2tfaW5zZXJ0X2l0ZXJhdG9yLmNjOiBBZGQgY2hlY2suCgkqIHRlc3RzdWl0ZS8yNF9pdGVyYXRvcnMvZnJvbnRfaW5zZXJ0X2l0ZXJhdG9yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjRfaXRlcmF0b3JzL2luc2VydF9pdGVyYXRvci5jYzogU2FtZS4KCjIwMDItMDEtMTYgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKGN0eXBlPGNoYXI+OjpjbGFzc2ljX3RhYmxlKTogTWFrZQoJc3RhdGljLgoJKGN0eXBlPGNoYXI+OjpfTV9jdGFibGUpOiBNYWtlIHN0YXRpYywgY2hhbmdlIG5hbWUgdG8gX1NfY3RhYmxlLgoJKiBjb25maWcvb3MvZ251LWxpbnV4L2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IERlZmluZSBfU19jdGFibGUuCgkqIGNvbmZpZy9vcy9zb2xhcmlzL3NvbGFyaXMyLjcvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCSogY29uZmlnL29zL3NvbGFyaXMvc29sYXJpczIuNi9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3Mvc29sYXJpcy9zb2xhcmlzMi41L2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9uZXdsaWIvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCSogY29uZmlnL29zL2lyaXgvaXJpeDYuNS9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvaXJpeC9pcml4NS4yL2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9ocHV4L2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9kamdwcC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvYnNkL25ldGJzZC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvYnNkL2ZyZWVic2QvYml0cy9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCSogY29uZmlnL29zL2FpeC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoKCVRlc3RjYXNlIGJ5IERpZXRtYXIgS/xobCB2aWEgUGV0ZXIgU2NobWlkCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfbWVtYmVyc19jaGFyLmNjIChjaGFyPik6IEFkZCB0ZXN0IGZvcgoJY2xhc3NpY190YWJsZSgpLgoKMjAwMi0wMS0xNiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogbGlibWF0aC9zaWduYml0bC5jOiBDb3B5cmlnaHQgeWVhcnMgYXMgbGlzdCwgbm90IHJhbmdlLgoJKiBsaWJtYXRoL01ha2VmaWxlLmFtOiBTYW1lLgoJKiBsaWJtYXRoL01ha2VmaWUuaW46IFJlZ2VuZXJhdGUuCgkqIGxpYm1hdGgvc2lnbmJpdC5jOiBTYW1lLgoJKiBsaWJtYXRoL25hbi5jOiBTYW1lLgoJKiBsaWJtYXRoL2NvcHlzaWduZi5jOiBTYW1lLgoJKiBsaWJtYXRoL3NpZ25iaXRmLmM6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0X21lbWJlcnNfY2hhci5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXRfbWVtYmVyc193Y2hhcl90LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X3B1dF9tZW1iZXJzX2NoYXIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0X21lbWJlcnNfd2NoYXJfdC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldF9tZW1iZXJzX2NoYXIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXRfbWVtYmVyc193Y2hhcl90LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0X21lbWJlcnNfY2hhci5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dF9tZW1iZXJzX3djaGFyX3QuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL25vbm1lbWJlci5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvY29tcGFyZS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL3N0cmluZ3N0cmVhbS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL3N0cmluZ2J1Zi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2ZpbGVidWYuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfbWFuaXBfYmFzZWZpZWxkLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX21hbmlwX2ZtdGZsYWdzLmNjOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvY3BwX3R5cGVfdHJhaXRzLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9nZW5lcmljX3NoYWRvdy5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvZ3NsaWNlX2FycmF5Lmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9nc2xpY2UuaDogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2luZGlyZWN0X2FycmF5Lmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9zbGljZV9hcnJheS5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvc3N0cmVhbS50Y2M6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWZfaXRlcmF0b3IuaDogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3ZhbGFycmF5X2FycmF5LnRjYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3ZhbGFycmF5X21ldGEuaDogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3ZhbGFycmF5X2FycmF5Lmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9taW5ndzMyL2JpdHMvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9taW5ndzMyL2JpdHMvY3R5cGVfYmFzZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvaHB1eC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvaHB1eC9iaXRzL2N0eXBlX2Jhc2UuaDogU2FtZS4KCSogY29uZmlnL29zL2dudS1saW51eC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvZ251LWxpbnV4L2JpdHMvY3R5cGVfYmFzZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvZ2VuZXJpYy9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvZ2VuZXJpYy9iaXRzL2N0eXBlX2Jhc2UuaDogU2FtZS4KCgkqIGxpYnN1cGMrKy90aW5mby5oOiBUd2Vha3MuCgoyMDAyLTAxLTE1ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXRfbWVtYmVyc193Y2hhcl90LmNjICh0ZXN0MDIpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXRfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDEpOiBUd2Vhay4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV9tZW1iZXJzX2NoYXIuY2M6IFR3ZWFrLgoKMjAwMi0wMS0xNSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChudW1fcHV0Ojpkb19wdXQoYm9vbCk6IEZpeC4KCShudW1fcHV0Ojpkb19wdXQodm9pZCopKTogRml4LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXRfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDIpOiBBZGQuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwMik6IEFkZC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0X21lbWJlcnNfY2hhci5jYyAodGVzdDAyKTogQWRkCglsb25nIGRvdWJsZSwgdm9pZCwgYm9vbCB0eXBlcy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0X21lbWJlcnNfd2NoYXJfdC5jYyAodGVzdDAyKTogQWRkLgoKMjAwMi0wMS0xNSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoJICAgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogbGlibWF0aC9NYWtlZmlsZS5hbSAoTElOSyk6IEFkZCAtLXRhZyBDQy4KCSogbGlibWF0aC9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDItMDEtMTUgIEpvaG4gRGF2aWQgQW5nbGluICA8ZGF2ZUBoaWF1bHkxLmhpYS5ucmMuY2E+CgoJKiBjb25maWcvb3MvaHB1eC9iaXRzL2N0eXBlX25vbmlubGluZS5oOiBVc2UgX19TQl9tYXNrcyBmb3IgYWRkcmVzcwoJb2YgY2hhcmFjdGVyIHRvIGF0dHJpYnV0ZSBtYXBwaW5nIHRhYmxlLgoKMjAwMi0wMS0xNSAgRGF2aWQgQmlsbGluZ2h1cnN0IDxEYXZpZC5CaWxsaW5naHVyc3RAcmlvdGludG8uY29tPgoKCSogdGVzdHN1aXRlLzI2X251bWVyaWNzL2M5OV9jbGFzc2lmaWNhdGlvbl9tYWNyb3NfYy5jYwoJUmVtb3ZlIGRnLWVycm9yIGFuZCBkZy1leGNlc3MtZXJyb3JzIGNvbW1lbnRzLgoKMjAwMi0wMS0xNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjICh0aW1lX3B1dDo6cHV0KTogQ29ycmVjdCBvdXRwdXQKCWl0ZXJhdG9yIHBvc2l0aW9ucy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwMik6IEFkZC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwMik6IEFkZC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldF9tZW1iZXJzX3djaGFyX3QuY2MgKHRlc3QwNik6IEFkZC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldF9tZW1iZXJzX2NoYXIuY2MgKHRlc3QwNik6IEFkZC4KCjIwMDItMDEtMTQgIENyYWlnIFJvZHJpZ3VlcyAgPHJvZHJpZ2NAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2h0bWwvMTdfaW50cm8vcG9ydGluZy1ob3d0by54bWw6IFVwZGF0ZSBmaWxlYnVmIHNlY3Rpb24uCgoyMDAyLTAxLTE0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoJICAgIE5hdGhhbiBNeWVycyAgPG5jbUBjYW50cmlwLm9yZz4KCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcuaAoJKHJlcGxhY2UoX19wb3MsIF9fbjEsIF9fcywgX19uMikpOiBPcHRpbWl6ZSBieSBhdm9pZGluZwoJdGVtcG9yYXJpZXMgKGkuZS4sIGNhbGwgX01fcmVwbGFjZV9zYWZlKSB3aGVuIHBvc3NpYmxlLgoJKHJlcGxhY2UoX19wb3MsIF9fbiwgX19zdHIpKTogQ2FsbCByZXBsYWNlKF9fcG9zLCBfX24xLCBfX3MsIF9fbjIpLgoJKHJlcGxhY2UoX19wb3MsIF9fbjEsIF9fcykpOiBDYWxsIHJlcGxhY2UoX19wb3MsIF9fbjEsIF9fcyAsIF9fbjIpLgoJKHJlcGxhY2UoX19pMSwgX19pMiwgX19zdHIpKTogQ2FsbCByZXBsYWNlKF9faTEsIF9faTIsIF9fcywgX19uKS4KCShyZXBsYWNlKF9faTEsIF9faTIsIF9fcykpOiBDYWxsIHJlcGxhY2UoX19pMSwgX19pMiwgX19zLCBfX24pLgoJKHJlcGxhY2UoX19pMSwgX19pMiwgX19zLCBfX24pKTogQ2FsbCByZXBsYWNlKF9fcG9zMSwgX19uMSwgX19zLCBfX24yKS4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy50Y2MKCShyZXBsYWNlKF9fcG9zMSwgX19uMSwgX19zdHIsIF9fcG9zMiwgX19uMikpOiBDYWxsCglyZXBsYWNlKF9fcG9zLCBfX24xLCBfX3MsIF9fbjIpLgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9yZXBsYWNlLmNjICh0ZXN0MDMpOiBOZXcgdGVzdGNhc2VzLgoKCSogaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy5oIChpbnNlcnQoX19wb3MsIF9fcywgX19uKSk6CglBZGp1c3QgY29tcGFyaXNvbiB3cnQgb3ZlcmZsb3cuCgoyMDAyLTAxLTEyICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtIChzdGRfaGVhZGVyc19yZW5hbWUpOiBOZXcgdmFyaWFibGUuCgkoaW5zdGFsbC1kYXRhLWxvY2FsKTogVXNlIGl0LgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwMi0wMS0xMiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChtb25leV9wdXQ6OmRvX3B1dChzdHJpbmcpOgoJQ29ycmVjdCBvdXRwdXQgaXRlcmF0b3IgdmFsdWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0X21lbWJlcnNfY2hhci5jYyAodGVzdDAzKTogQWRkLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X3B1dF9tZW1iZXJzX3djaGFyX3QuY2M6IFNhbWUuCgoyMDAyLTAxLTExICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtLCBpbmNsdWRlL01ha2VmaWxlLmluIChzdGFtcC1zdGQpOiAgRml4IHR5cG8gZnJvbQoJcHJldmlvdXMgY29tbWl0LgoKMjAwMi0wMS0xMSAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogaW5jbHVkZS9NYWtlZmlsZS5hbSAoc3RkX2hlYWRlcnMpOiAgVXBkYXRlIGxpc3Qgd2l0aCBuZXcgbmFtZXMuCgkoc3RhbXAtc3RkKTogIExpbmsgdG8gc3RhbmRhcmRpemVkIG5hbWUuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46ICBSZWdlbmVyYXRlLgoKCSogaW5jbHVkZS9zdGQvYWxnb3JpdGhtLCBpbmNsdWRlL3N0ZC9iaXRzZXQsIGluY2x1ZGUvc3RkL2NvbXBsZXgsCglpbmNsdWRlL3N0ZC9kZXF1ZSwgaW5jbHVkZS9zdGQvZnN0cmVhbSwgaW5jbHVkZS9zdGQvZnVuY3Rpb25hbCwKCWluY2x1ZGUvc3RkL2lvbWFuaXAsIGluY2x1ZGUvc3RkL2lvcywgaW5jbHVkZS9zdGQvaW9zZndkLAoJaW5jbHVkZS9zdGQvaW9zdHJlYW0sIGluY2x1ZGUvc3RkL2lzdHJlYW0sIGluY2x1ZGUvc3RkL2l0ZXJhdG9yLAoJaW5jbHVkZS9zdGQvbGltaXRzLCBpbmNsdWRlL3N0ZC9saXN0LCBpbmNsdWRlL3N0ZC9sb2NhbGUsCglpbmNsdWRlL3N0ZC9tYXAsIGluY2x1ZGUvc3RkL21lbW9yeSwgaW5jbHVkZS9zdGQvbnVtZXJpYywKCWluY2x1ZGUvc3RkL29zdHJlYW0sIGluY2x1ZGUvc3RkL3F1ZXVlLCBpbmNsdWRlL3N0ZC9zZXQsCglpbmNsdWRlL3N0ZC9zc3RyZWFtLCBpbmNsdWRlL3N0ZC9zdGFjaywgaW5jbHVkZS9zdGQvc3RkZXhjZXB0LAoJaW5jbHVkZS9zdGQvc3RyZWFtYnVmLCBpbmNsdWRlL3N0ZC9zdHJpbmcsIGluY2x1ZGUvc3RkL3V0aWxpdHksCglpbmNsdWRlL3N0ZC92YWxhcnJheSwgaW5jbHVkZS9zdGQvdmVjdG9yOiAgUmVuYW1lIHRvLi4uCgoJKiBpbmNsdWRlL3N0ZC9zdGRfYWxnb3JpdGhtLmgsIGluY2x1ZGUvc3RkL3N0ZF9iaXRzZXQuaCwKCWluY2x1ZGUvc3RkL3N0ZF9jb21wbGV4LmgsIGluY2x1ZGUvc3RkL3N0ZF9kZXF1ZS5oLAoJaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCwgaW5jbHVkZS9zdGQvc3RkX2Z1bmN0aW9uYWwuaCwKCWluY2x1ZGUvc3RkL3N0ZF9pb21hbmlwLmgsIGluY2x1ZGUvc3RkL3N0ZF9pb3MuaCwKCWluY2x1ZGUvc3RkL3N0ZF9pb3Nmd2QuaCwgaW5jbHVkZS9zdGQvc3RkX2lvc3RyZWFtLmgsCglpbmNsdWRlL3N0ZC9zdGRfaXN0cmVhbS5oLCBpbmNsdWRlL3N0ZC9zdGRfaXRlcmF0b3IuaCwKCWluY2x1ZGUvc3RkL3N0ZF9saW1pdHMuaCwgaW5jbHVkZS9zdGQvc3RkX2xpc3QuaCwKCWluY2x1ZGUvc3RkL3N0ZF9sb2NhbGUuaCwgaW5jbHVkZS9zdGQvc3RkX21hcC5oLAoJaW5jbHVkZS9zdGQvc3RkX21lbW9yeS5oLCBpbmNsdWRlL3N0ZC9zdGRfbnVtZXJpYy5oLAoJaW5jbHVkZS9zdGQvc3RkX29zdHJlYW0uaCwgaW5jbHVkZS9zdGQvc3RkX3F1ZXVlLmgsCglpbmNsdWRlL3N0ZC9zdGRfc2V0LmgsIGluY2x1ZGUvc3RkL3N0ZF9zc3RyZWFtLmgsCglpbmNsdWRlL3N0ZC9zdGRfc3RhY2suaCwgaW5jbHVkZS9zdGQvc3RkX3N0ZGV4Y2VwdC5oLAoJaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oLCBpbmNsdWRlL3N0ZC9zdGRfc3RyaW5nLmgsCglpbmNsdWRlL3N0ZC9zdGRfdXRpbGl0eS5oLCBpbmNsdWRlL3N0ZC9zdGRfdmFsYXJyYXkuaCwKCWluY2x1ZGUvc3RkL3N0ZF92ZWN0b3IuaDogIC4uLnRoaXMuCgoyMDAyLTAxLTExICBMb3JlbiBSaXR0bGUgPGxqcml0dGxlQGFjbS5vcmc+CgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtIChleHRyYV90YXJnZXRfaGVhZGVycyk6IE5ldyBsaXN0IG9mIGFsbAoJdGFyZ2V0IGZpbGVzIGJ1aWx0IHdpdGggYWQgaG9jIG5hbWluZyBydWxlcy4KCShzdGFtcC0qKTogSGFuZGxlIExOX1MgZmFpbHVyZSBpbiBtYW5uZXIgcG9ydGFibGUgYWNyb3NzIG1ha2UKCWltcGxlbWVudGF0aW9ucy4KCShpbnN0YWxsLWRhdGEtbG9jYWwpOiBJbnN0YWxsIGhlYWRlciBmaWxlcyBmcm9tIGh1bWFuLW1haW50YWluZWQKCWZpbGUgbGlzdHMgYW5kIGRpcmVjdG9yeSBjb21wb25lbnRzIGluc3RlYWQgb2Ygbm9uLXJvYnVzdCBmaW5kLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWJ1aWx0LgoKMjAwMi0wMS0xMSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChtb25leV9nZXQ6OmRvX2dldChzdHJpbmcpKToKCUNoZWNrIGZvciB6ZXJvLWxlbmd0aCBuZWdhdGl2ZSBzaWduIGJlZm9yZSBhZGRpbmcgaXQgdG8gb3V0cHV0CglzdHJpbmcuCgkobW9uZXlfZ2V0Ojpkb19nZXQobG9uZyBkb3VibGUpKTogUmV0dXJuIGJlZy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXRfbWVtYmVyc19jaGFyLmNjICh0ZXN0MDIpOiBBZGQKCWl0ZXJhdG9yIGNoZWNrcy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXRfbWVtYmVyc193Y2hhcl90LmNjOiBTYW1lLgoKMjAwMi0wMS0xMCAgRGF2aWQgU2V5bW91ciAgPHNleW1vdXJfZGpAeWFob28uY29tPgoKCWxpYnN0ZGMrKy81MzMxCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKG51bV9nZXQ8Pik6IFJldHVybiBhZHZhbmNlZCBpdGVyYXRvcgoJZm9yIF9NX2V4dHJhY3RfZmxvYXQgYW5kIF9NX2V4dHJhY3RfaW50CgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAobnVtX2dldDw+OjpfTV9leHRyYWN0X2Zsb2F0KQoJKG51bV9nZXQ8Pjo6X01fZXh0cmFjdF9pbnQpOiBMaWtld2lzZSwgYWxsIGNhbGxlcnMgY2hhbmdlZAoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXRfbWVtYmVyc19jaGFyLmNjOiBUZXN0Y2FzZQoKMjAwMi0wMS0wOSAgUGFvbG8gQ2FybGluaSA8cGNhcmxpbmlAdW5pdHVzLml0PgoKICAgICAgICAqIGxpYnN1cGMrKy9leGNlcHRpb24gKGJhZF9leGNlcHRpb24pOiBBZGQgY29tbWVudC4KICAgICAgICAqIGxpYnN1cGMrKy9uZXcgKGJhZF9hbGxvYyk6IFNhbWUuCiAgICAgICAgKiBsaWJzdXBjKysvdHlwZWluZm8gKGJhZF9jYXN0LCBiYWRfdHlwZWlkKTogU2FtZS4KCjIwMDItMDEtMDkgIFBhb2xvIENhcmxpbmkgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglsaWJzdGRjKysvMzE1MDogcmV2ZXJ0IDIwMDEtMTEtMzAgY29tbWl0LiBEUjI2NiBvbmx5IG1lYW5zCgl0aGF0IHRoZSBkZXN0cnVjdG9ycyBzaG91bGQgYmUgcmVtb3ZlZCBmcm9tIHRoZSBkZXNjcmlwdGlvbnMKCWluIHRoZSBzdGFuZGFyZDogd3JpdGluZyB0aGVtIGV4cGxpY2l0bHkgYWxsb3dzIHRoZSB2dGFibGUKCWhldXJpc3RpYyB0byB3b3JrLiBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBzZWU6CglodHRwOi8vZ2NjLmdudS5vcmcvbWwvbGlic3RkYysrLzIwMDItMDEvbXNnMDAwOTAuaHRtbAoJaHR0cDovL2djYy5nbnUub3JnL21sL2xpYnN0ZGMrKy8yMDAyLTAxL21zZzAwMTEwLmh0bWwKCWh0dHA6Ly9nY2MuZ251Lm9yZy9tbC9saWJzdGRjKysvMjAwMi0wMS9tc2cwMDE1NS5odG1sCgkqIGxpYnN1cGMrKy9leGNlcHRpb24gKGJhZF9leGNlcHRpb246On5iYWRfZXhjZXB0aW9uKCkpOgoJUmVpbnRyb2R1Y2UgZGVjbGFyYXRpb24uCgkqIGxpYnN1cGMrKy9uZXcgKGJhZF9hbGxvYzo6fmJhZF9hbGxvYygpKTogU2FtZS4KCSogbGlic3VwYysrL3R5cGVpbmZvIChiYWRfY2FzdDo6fmJhZF9jYXN0KCkpOiBTYW1lLgoJKGJhZF90eXBlaWQ6On5iYWRfdHlwZWlkKCkpOiBTYW1lLgoJKiBsaWJzdXBjKysvZWhfZXhjZXB0aW9uLmNjIChiYWRfZXhjZXB0aW9uOjp+YmFkX2V4Y2VwdGlvbigpKToKCVJlaW50cm9kdWNlIGRlZmluaXRpb24uCgkqIGxpYnN1cGMrKy9uZXdfaGFuZGxlci5jYyAoYmFkX2FsbG9jOjp+YmFkX2FsbG9jKCkpOiBTYW1lLgoJKiBsaWJzdXBjKysvdGluZm8uY2MgKGJhZF9jYXN0Ojp+YmFkX2Nhc3QoKSk6IFNhbWUuCgkoYmFkX3R5cGVpZDo6fmJhZF90eXBlaWQoKSk6IFNhbWUuCgoyMDAyLTAxLTA5ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtIChjX2Jhc2Vfc3JjZGlyKTogUmVtb3ZlIGR1cGxpY2F0ZSAnLycuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDAyLTAxLTA5ICBCbyBUaG9yc2VuICA8Ym9Ac3VzZS5jby51az4KCgkqIGNvbmZpZy9jcHUveDg2LTY0L2JpdHMvY3B1X2xpbWl0cy5oIChfX2dsaWJjcHBfbG9uZ19iaXRzKTogQWRkCglkZWZpbml0aW9uLgoKMjAwMi0wMS0wOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKICAgICAgICBsaWJzdGRjKysvMjkxMwogICAgICAgIGxpYnN0ZGMrKy80ODc5CgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoZmlsZWJ1Zjo6X01fcmVhbGx5X292ZXJmbG93KTogVGVzdAoJcmV0dXJuIHZhbHVlIG9mIF9NX2ZpbGUtPnN5bmMoKS4KCShmaWxlYnVmOjpzaG93bWFueWMpOiBDaGVjayBmb3IgaXNfb3Blbi4KCSogaW5jbHVkZS9zdGQvZnN0cmVhbSAoZmlsZWJ1Zjo6c3luYyk6IFR3ZWFrLgoJKiB0ZXN0c3VpdGUvMjdfaW8vZmlsZWJ1Zi5jYzogVHdlYWsuCgoyMDAyLTAxLTA4ICBKb2huIEZhcmRvICA8amZhcmRvQGxhdXJlbG5ldHdvcmtzLmNvbT4KCSAgICBCcmFkIEdhcmNpYSAgPGdhcnNoQGF0dGJpLmNvbT4KCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmX21lbWJlcnMuY2M6IEFkZCB0ZXN0LgoKMjAwMi0wMS0wNyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgogCSAgICBDcmFpZyBSb2RyaWd1ZXMgIDxyb2RyaWdjQG1lZGlhb25lLm5ldD4KCglsaWJzdGRjKysvNTE3NAoJKiBwby9NYWtlZmlsZS5hbSAobWtpbnN0YWxsZGlycyk6IEFkZC4KCSogcG8vTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDAyLTAxLTA3ICBEYXZpZCBCaWxsaW5naHVyc3QgIDxEYXZpZC5CaWxsaW5naHVyc3RAcmlvdGludG8uY29tPgoKCSogdGVzdHN1aXRlX2ZsYWdzLmluOiBBZGQgLWZtZXNzYWdlLWxlbmd0aD0wIHRvIENYWEZMQUdTICoKCXRlc3RzdWl0ZS9saWIvcHJ1bmUuZXhwOiBEZWxldGUgbGluZXMgIjpJbiBmdW5jdGlvbiAuLi4iICBmcm9tCgljb21waWxlciBvdXRwdXQuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL21hcF9vcGVyYXRvcnMuY2M6IFJlbW92ZQoJZGctZXhjZXNzLWVycm9ycyBjb21tZW50LgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9zZXRfb3BlcmF0b3JzLmNjOiBMaWtld2lzZS4KCjIwMDItMDEtMDYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvc3RsX2Z1bmN0aW9uLmg6ICBSZW1vdmUgdHdvIGxpbmVzIG9mIGNvbW1lbnRzOwoJYWRqdXN0IGNvcHlyaWdodCB5ZWFycy4KCjIwMDItMDEtMDQgIEJlbmphbWluICBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtIChzdGRfaGVhZGVycyk6IFJlbW92ZSBjWFhYIGZyb20gbGlzdC4KCShjX2Jhc2Vfc3JjZGlyKTogTm8gYml0cyBzdWJkaXJlY3RvcnkuCgkoY19iYXNlX2J1aWxkZGlyKTogU2FtZS4KCShjX2Jhc2VfaGVhZGVycyk6IEFkanVzdCBuYW1lcywgYWRkIGNpc282NDYuCgkoYml0c19oZWFkZXJzKTogUmVtb3ZlIHN0ZF94eHguaCBoZWFkZXJzLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKCSogaW5jbHVkZS9leHQvaXRlcmF0b3I6IEFkanVzdCBpbmNsdWRlcy4KCSogaW5jbHVkZS9leHQvcm9wZWltcGwuaDogU2FtZS4KCSogaW5jbHVkZS9leHQvc3RsX2hhc2hfZnVuLmg6IFNhbWUuCgkqIGluY2x1ZGUvZXh0L2FsZ29yaXRobTogU2FtZS4KCgkqIGluY2x1ZGUvYmFja3dhcmQvYnZlY3Rvci5oOiBBZGp1c3QgaW5jbHVkZXMuCgkqIGluY2x1ZGUvYmFja3dhcmQvdmVjdG9yLmg6IFNhbWUuCgkqIGluY2x1ZGUvYmFja3dhcmQvc3Ryc3RyZWFtOiBTYW1lLgoJKiBpbmNsdWRlL2JhY2t3YXJkL3N0cmVhbWJ1Zi5oOiBTYW1lLgoJKiBpbmNsdWRlL2JhY2t3YXJkL3N0YWNrLmg6IFNhbWUuCgkqIGluY2x1ZGUvYmFja3dhcmQvc2V0Lmg6IFNhbWUuCgkqIGluY2x1ZGUvYmFja3dhcmQvcXVldWUuaDogU2FtZS4KCSogaW5jbHVkZS9iYWNrd2FyZC9tdWx0aXNldC5oOiBTYW1lLgoJKiBpbmNsdWRlL2JhY2t3YXJkL211bHRpbWFwLmg6IFNhbWUuCgkqIGluY2x1ZGUvYmFja3dhcmQvbWFwLmg6IFNhbWUuCgkqIGluY2x1ZGUvYmFja3dhcmQvbGlzdC5oOiBTYW1lLgoJKiBpbmNsdWRlL2JhY2t3YXJkL2l0ZXJhdG9yLmg6IFNhbWUuCgkqIGluY2x1ZGUvYmFja3dhcmQvaW9zdHJlYW0uaDogU2FtZS4KCSogaW5jbHVkZS9iYWNrd2FyZC9pb21hbmlwLmg6IFNhbWUuCgkqIGluY2x1ZGUvYmFja3dhcmQvZnN0cmVhbS5oOiBTYW1lLgoJKiBpbmNsdWRlL2JhY2t3YXJkL2RlcXVlLmg6IFNhbWUuCgkqIGluY2x1ZGUvYmFja3dhcmQvY29tcGxleC5oOiBTYW1lLgoKCSogaW5jbHVkZS9iaXRzL3N0ZF9hbGdvcml0aG0uaDogTW92ZSB0by4uLgoJKiBpbmNsdWRlL3N0ZC9hbGdvcml0aG06IC4uLmhlcmUuCgkqIGluY2x1ZGUvYml0cy9zdGRfaW9zZndkLmgsIHN0ZF9sb2NhbGUuaCwgc3RkX3N0YWNrLmgsCglzdGRfYml0c2V0LmgsIHN0ZF9pb3MuaCwgc3RkX21hcC5oLCBzdGRfc3RkZXhjZXB0LmgsCglzdGRfY29tcGxleC5oLCBzdGRfaW9zdHJlYW0uaCwgc3RkX21lbW9yeS5oLCBzdGRfc3RyZWFtYnVmLmgsCglzdGRfZGVxdWUuaCwgc3RkX2lzdHJlYW0uaCwgc3RkX251bWVyaWMuaCwgc3RkX3N0cmluZy5oLAoJc3RkX2ZzdHJlYW0uaCwgc3RkX29zdHJlYW0uaCwgc3RkX3V0aWxpdHkuaCwgc3RkX2l0ZXJhdG9yLmgsCglzdGRfcXVldWUuaCwgc3RkX3ZhbGFycmF5LmgsIHN0ZF9mdW5jdGlvbmFsLmgsIHN0ZF9saW1pdHMuaCwKCXN0ZF9zZXQuaCwgc3RkX3ZlY3Rvci5oLCBzdGRfaW9tYW5pcC5oLCBzdGRfbGlzdC5oLCBzdGRfc3N0cmVhbS5oOgoJU2FtZS4KCgkqIGluY2x1ZGUvY19zdGQvYml0cy9zdGRfY2Fzc2VydC5oOiBNb3ZlIHRvLi4uCgkqIGluY2x1ZGUvY19zdGQvY2Fzc2VydDogSGVyZS4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfY2N0eXBlLmgsIHN0ZF9jZXJybm8uaCwgc3RkX2NmbG9hdC5oLAoJc3RkX2NsaW1pdHMuaCwgc3RkX2Nsb2NhbGUuaCwgc3RkX2NtYXRoLmgsIHN0ZF9jc2V0am1wLmgsCglzdGRfY3NpZ25hbC5oLCBzdGRfY3N0ZGFyZy5oLCBzdGRfY3N0ZGRlZi5oLCBzdGRfY3N0ZGlvLmgsCglzdGRfY3N0ZGxpYi5oLCBzdGRfY3N0cmluZy5oLCBzdGRfY3RpbWUuaCwgc3RkX2N3Y2hhci5oLAoJc3RkX2N3Y3R5cGUuaDogU2FtZS4KCSogaW5jbHVkZS9jX3N0ZC9jbWF0aDogQWRqdXN0IGNtYXRoLnRjYyBpbmNsdWRlLgoJKiBpbmNsdWRlL2Nfc3RkL2NzdGRsaWI6IEFkanVzdCBpbmNsdWRlcy4KCSogaW5jbHVkZS9jX3N0ZC9jd2NoYXI6IFNhbWUuCgkqIGluY2x1ZGUvY19zdGQvY3RpbWU6IFNhbWUuCgkqIGluY2x1ZGUvY19zdGQvY3N0cmluZzogU2FtZS4KCSogaW5jbHVkZS9jX3N0ZC9jc3RkaW86IFNhbWUuCgkqIGluY2x1ZGUvY19zdGQvYml0czogUmVtb3ZlIGRpcmVjdG9yeS4KCgkqIGluY2x1ZGUvYy9iaXRzL3N0ZF9jYXNzZXJ0Lmg6IE1vdmUgdG8uLi4KCSogaW5jbHVkZS9jL2Nhc3NlcnQ6IEhlcmUuCgkqIGluY2x1ZGUvYy9zdGRfY2N0eXBlLmgsIHN0ZF9jZXJybm8uaCwgc3RkX2NmbG9hdC5oLAoJc3RkX2NsaW1pdHMuaCwgc3RkX2Nsb2NhbGUuaCwgc3RkX2NtYXRoLmgsIHN0ZF9jc2V0am1wLmgsCglzdGRfY3NpZ25hbC5oLCBzdGRfY3N0ZGFyZy5oLCBzdGRfY3N0ZGRlZi5oLCBzdGRfY3N0ZGlvLmgsCglzdGRfY3N0ZGxpYi5oLCBzdGRfY3N0cmluZy5oLCBzdGRfY3RpbWUuaCwgc3RkX2N3Y2hhci5oLAoJc3RkX2N3Y3R5cGUuaDogU2FtZS4KCSogaW5jbHVkZS9jL2JpdHM6IFJlbW92ZSBkaXJlY3RvcnkuCgoJKiBpbmNsdWRlL3N0ZC9jd2N0eXBlOiBSZW1vdmUuCgkqIGluY2x1ZGUvc3RkL2N3Y2hhcjogUmVtb3ZlLgoJKiBpbmNsdWRlL3N0ZC9jdGltZTogUmVtb3ZlLgoJKiBpbmNsdWRlL3N0ZC9jc3RyaW5nOiBSZW1vdmUuCgkqIGluY2x1ZGUvc3RkL2NzdGRsaWI6IFJlbW92ZS4KCSogaW5jbHVkZS9zdGQvY3N0ZGlvOiBSZW1vdmUuCgkqIGluY2x1ZGUvc3RkL2NzdGRkZWY6IFJlbW92ZS4KCSogaW5jbHVkZS9zdGQvY3N0ZGFyZzogUmVtb3ZlLgoJKiBpbmNsdWRlL3N0ZC9jc2lnbmFsOiBSZW1vdmUuCgkqIGluY2x1ZGUvc3RkL2NzZXRqbXA6IFJlbW92ZS4KCSogaW5jbHVkZS9zdGQvY21hdGg6IFJlbW92ZS4KCSogaW5jbHVkZS9zdGQvY2xvY2FsZTogUmVtb3ZlLgoJKiBpbmNsdWRlL3N0ZC9jbGltaXRzOiBSZW1vdmUuCgkqIGluY2x1ZGUvc3RkL2Npc282NDY6IFJlbW92ZS4KCSogaW5jbHVkZS9zdGQvY2Zsb2F0OiBSZW1vdmUuCgkqIGluY2x1ZGUvc3RkL2NlcnJubzogUmVtb3ZlLgoJKiBpbmNsdWRlL3N0ZC9jY3R5cGU6IFJlbW92ZS4KCSogaW5jbHVkZS9zdGQvY2Fzc2VydDogUmVtb3ZlLgoKCSogaW5jbHVkZS9iaXRzL2Zwb3MuaDogQWRqdXN0IGluY2x1ZGVzLCByZW1vdmluZyA8Yml0cy9zdGRfeHh4Lmg+CglmaWxlcyBhbmQgc3Vic2l0dXRpbmcgPHh4eD4uCgkqIGluY2x1ZGUvYml0cy92YWxhcnJheV9hcnJheS5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3VuaW5pdGlhbGl6ZWQuaDogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9hbGxvYy5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2FsZ29iYXNlLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3B0aHJlYWRfYWxsb2NpbXBsLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9vc3RyZWFtLnRjYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZWZ3ZC5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2M6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9pc3RyZWFtLnRjYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2NoYXJfdHJhaXRzLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9ib29zdF9jb25jZXB0X2NoZWNrLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19maWxlLmg6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL2JpdHNldDogU2FtZS4KCSogaW5jbHVkZS9zdGQvY29tcGxleDogU2FtZS4KCSogaW5jbHVkZS9zdGQvZnN0cmVhbTogU2FtZS4KCSogaW5jbHVkZS9zdGQvZnVuY3Rpb25hbDogU2FtZS4KCSogaW5jbHVkZS9zdGQvaW9zOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9pb3N0cmVhbTogU2FtZS4KCSogaW5jbHVkZS9zdGQvb3N0cmVhbTogU2FtZS4KCSogaW5jbHVkZS9zdGQvc3N0cmVhbTogU2FtZS4KCSogaW5jbHVkZS9zdGQvc3RyZWFtYnVmOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdHJpbmc6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL2l0ZXJhdG9yOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC92YWxhcnJheTogU2FtZS4KCgkqIHNyYy9pb3MuY2M6IEFkanVzdCBpbmNsdWRlcy4KCSogc3JjL3ZhbGFycmF5LWluc3QuY2M6IFNhbWUuCgkqIHNyYy9zdHJpbmctaW5zdC5jYzogU2FtZS4KCSogc3JjL3N0bC1pbnN0LmNjOiBTYW1lLgoJKiBzcmMvc3RkZXhjZXB0LmNjOiBTYW1lLgoJKiBzcmMvbWlzYy1pbnN0LmNjOiBTYW1lLgoJKiBzcmMvbG9jYWxlbmFtZS5jYzogU2FtZS4KCSogc3JjL2xvY2FsZS1pbnN0LmNjOiBTYW1lLgoJKiBzcmMvbG9jYWxlLmNjOiBTYW1lLgoJKiBzcmMvbGltaXRzLmNjOiBTYW1lLgoJKiBzcmMvY29uY2VwdC1pbnN0LmNjOiBTYW1lLgoJKiBzcmMvY29tcGxleF9pby5jYzogU2FtZS4KCSogc3JjL2NvZGVjdnQuY2M6IFNhbWUuCgkqIHNyYy9iaXRzZXQuY2M6IFNhbWUuCgkqIHNyYy9jbWF0aC5jYzogU2FtZS4KCjIwMDItMDEtMDQgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvc3RsX3RyZWUuaCAocmJfdHJlZSk6ICBNb3ZlIHRvLi4uCgkqIGluY2x1ZGUvZXh0L3JiX3RyZWU6ICAuLi5oZXJlLCBuZXcgZmlsZS4KCSogaW5jbHVkZS9NYWtlZmlsZS5hbSAoZXh0X2hlYWRlcnMpOiAgQWRkIG5ldyBmaWxlLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiAgUmVnZW5lcmF0ZS4KCSogaW5jbHVkZS9iaXRzL3N0bF90ZW1wYnVmLmggKGdldF90ZW1wb3JhcnlfYnVmZmVyICsgaGVscGVyLAoJcmV0dXJuX3RlbXBvcmFyeV9idWZmZXIsIHN0cnVjdCB0ZW1wb3JhcnlfYnVmZmVyKTogIE1vdmUgdG8uLi4KCSogaW5jbHVkZS9leHQvbWVtb3J5OiAgLi4uaGVyZS4KCSogdGVzdHN1aXRlL2V4dC9oZWFkZXJzLmNjOiAgSW5jbHVkZSA8ZXh0L3JiX3RyZWU+LgoJKiBpbmNsdWRlL2JhY2t3YXJkL3RlbXBidWYuaDogIEluY2x1ZGUgPGV4dC9tZW1vcnk+LCB0d2Vhay4KCSogaW5jbHVkZS9iYWNrd2FyZC90cmVlLmg6ICBJbmNsdWRlIDxleHQvcmJfdHJlZSksIHR3ZWFrLgoKMjAwMi0wMS0wMyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zdGxfbnVtZXJpYy5oIChwb3dlciArIGhlbHBlcnMsIGlvdGEpOiAgTW92ZSB0by4uLgoJKiBpbmNsdWRlL2V4dC9udW1lcmljOiAgLi4uaGVyZSwgbmV3IGZpbGUuCiAgICAgICAgKiBpbmNsdWRlL2JpdHMvc3RsX2Z1bmN0aW9uLmggKGlkZW50aXR5X2VsZW1lbnQsIHVuYXJ5X2NvbXBvc2UsCgliaW5hcnlfY29tcG9zZSwgY29tcG9zZTEsIGNvbXBvc2UyLCBpZGVudGl0eSwgc2VsZWN0MXN0LAoJc2VsZWN0Mm5kLCBwcm9qZWN0MXN0ICsgaGVscGVyLCBwcm9qZWN0Mm5kICsgaGVscGVyLAoJY29uc3RhbnRfdm9pZF9mdW4gKyBoZWxwZXIsIGNvbnN0YW50X3VuYXJ5X2Z1biArIGhlbHBlciwKCWNvc3RhbnRfYmluYXJ5X2Z1biArIGhlbHBlciwgY29uc3RhbnQwLCBjb25zdGFudDEsIGNvbnN0YW50MiwKCXN1YnRyYWN0aXZlX3JuZywgbWVtX2Z1bjEsIG1lbV9mdW4xX3JlZik6ICBNb3ZlIHRvLi4uCiAgICAgICAgKiBpbmNsdWRlL2V4dC9mdW5jdGlvbmFsOiAgLi4uaGVyZSwgbmV3IGZpbGUuCiAgICAgICAgKiBpbmNsdWRlL01ha2VmaWxlLmFtIChleHRfaGVhZGVycyk6ICBBZGQgbmV3IGZpbGVzLgogICAgICAgICogaW5jbHVkZS9NYWtlZmlsZS5pbjogIFJlZ2VuZXJhdGUuCiAgICAgICAgKiB0ZXN0c3VpdGUvZXh0L2hlYWRlcnMuY2M6ICBJbmNsdWRlIDxleHQvbnVtZXJpYz4gYW5kCgk8ZXh0L2Z1bmN0aW9uYWw+LgoJKiBpbmNsdWRlL2JhY2t3YXJkL2FsZ28uaDogIEluY2x1ZGUgPGV4dC9udW1lcmljPiwgdHdlYWsuCgkqIGluY2x1ZGUvYmFja3dhcmQvZnVuY3Rpb24uaDogIEluY2x1ZGUgPGV4dC9mdW5jdGlvbmFsPiwgdHdlYWsuCiAgICAgICAgKiBpbmNsdWRlL2V4dC9yb3BlaW1wbC5oOiAgSW5jbHVkZSA8ZXh0L251bWVyaWM+LgoKMjAwMi0wMS0wMyAgSmVmZnJleSBBIExhdyAgPGxhd0ByZWRoYXQuY29tPgoKICAgICAgICAqIGNvbmZpZy9vcy9ocHV4L2JpdHMvb3NfZGVmaW5lcy5oOiBQcmVmaXggX19zdHJ0b2xsIGFuZAogICAgICAgIF9fc3RydG91bGwgZGVjbGFyYXRpb25zIHdpdGggX19leHRlbnNpb25fXy4KCjIwMDItMDEtMDMgIERhdmlkIEJpbGxpbmdodXJzdCA8RGF2aWQuQmlsbGluZ2h1cnN0QHJpb3RpbnRvLmNvbT4KCgkqIHRlc3RzdWl0ZS9saWIvcHJ1bmUuZXhwOiBDb3JyZWN0IHJlZ3VsYXIgZXhwcmVzc2lvbiBmb3IKCS1mZnVuY3Rpb24tc2VjdGlvbnMKCjIwMDItMDEtMDIgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnby5oICh1cHBlcl9ib3VuZCwgZXF1YWxfcmFuZ2UsIGJpbmFyeV9zZWFyY2gpOgoJQ2hhbmdlIGNvbmNlcHQgY2hlY2tzLCBhcyB3aXRoIGxvd2VyX2JvdW5kIGFuZCBQUiAyMDU0LgoJKiB0ZXN0c3VpdGUvZXh0L2NvbmNlcHRfY2hlY2tzLmNjOiAgRXhwYW5kIHRlc3QgdG8gaW5jbHVkZSB0aG9zZS4KCjIwMDItMDEtMDIgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGluY2x1ZGUvYml0cy9ib29zdF9jb25jZXB0X2NoZWNrLmg6ICBJbXBvcnQgc29tZSBjaGFuZ2VzIGZyb20KCXVwc3RlYW0gKEJvb3N0KSB2ZXJzaW9uLgoKMjAwMi0wMS0wMiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnb2Jhc2UuaCAoY29weV9uICsgaGVscGVycywKCWxleGljb2dyYXBoaWNhbF9jb21wYXJlXzN3YXkgKyBoZWxwZXJzKTogIE1vdmUgdG8uLi4KCSogaW5jbHVkZS9leHQvYWxnb3JpdGhtOiAgLi4uaGVyZS4KICAgICAgICAqIGluY2x1ZGUvYml0cy9zdGxfdW5pbml0aWFsaXplZC5oICh1bmluaXRpYWxpemVkX2NvcHlfbiArCiAgICAgICAgaGVscGVycyk6ICBNb3ZlIHRvLi4uCiAgICAgICAgKiBpbmNsdWRlL2V4dC9tZW1vcnk6ICAuLi5oZXJlLCBuZXcgZmlsZS4KICAgICAgICAqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKGV4dF9oZWFkZXJzKTogIEFkZCBuZXcgZmlsZS4KICAgICAgICAqIGluY2x1ZGUvTWFrZWZpbGUuaW46ICBSZWdlbmVyYXRlLgogICAgICAgICogdGVzdHN1aXRlL2V4dC9oZWFkZXJzLmNjOiAgSW5jbHVkZSA8ZXh0L21lbW9yeT4uCgkqIGluY2x1ZGUvYmFja3dhcmQvYWxnb2Jhc2UuaDogIEluY2x1ZGUgPGV4dC9tZW1vcnk+IGFuZAoJPGV4dC9hbGdvcml0aG0+LCB0d2Vhay4KICAgICAgICAqIGluY2x1ZGUvZXh0L3JvcGVpbXBsLmg6ICBJbmNsdWRlIDxleHQvbWVtb3J5PiwgdHdlYWsuCgkqIGluY2x1ZGUvZXh0L3N0bF9yb3BlLmg6ICBJbmNsdWRlIDxleHQvbWVtb3J5PiwgdHdlYWsuCgoyMDAyLTAxLTAxICBSb2dlciBTYXlsZSA8cm9nZXJAZXllc29wZW4uY29tPgoKCSogbGlibWF0aC9zdHVicy5jIChzaW5mLGNvc2YpOiBJbXBsZW1lbnQgc3R1YnMgdG8gZW5hYmxlIHRoZQoJZXF1aXZhbGVudCBfX19idWlsdGluX18gdmVyc2lvbnMuCgoJKiBpbmNsdWRlL2Nfc2hhZG93L2JpdHMvc3RkX2NtYXRoLmg6IEFsbCBfX2J1aWx0aW4gbWF0aCBmdW5jdGlvbnMKCWFyZSBhdmFpbGFibGUgaW4gbGlic3RkYysrIGFzIHRoZSBuZWNlc3Nhcnkgc3R1YiBpbXBsZW1lbnRhdGlvbnMKCWFyZSBwcm92aWRlZCBieSBsaWJtYXRoL3N0dWJzLmMuCgoyMDAyLTAxLTAxICBKYXNvbiBUaG9ycGUgIDx0aG9ycGVqQHdhc2FiaXN5c3RlbXMuY29tPgoKCSogY29uZmlndXJlLmluOiBBZGQgc3VwcG9ydCBmb3IgTmV0QlNEIGNyb3NzIGNvbXBpbGVzLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCg==