Y3VzdG9tPXRydWUKIyBFZGl0IHRoaXMgaWYvd2hlbiB0aGUgcmVsZWFzZSBudW1iZXIgY2hhbmdlcwpyZWxlYXNlLnZlcnNpb249Mi41LjIKIyBMaW5rIHRvIGRlcGVuZGVuY2llcyBub3QgaW4gU1ZOLCBhc3N1bWVzIGRlZmF1bHQgbG9jYXRpb24sIGlmIHlvdSBzdG9yZSBlbHNld2hlcmUgeW91IG5lZWQgdG8gZWRpdCB0aGVzZS4KanVuaXQubGliPS4uLy4uLy4uL2V4dGVuc2lvbi5saWIuZXh0ZXJuYWwvanVuaXQuamFyCmVjbGlwc2VsaW5rLmphcj1lY2xpcHNlbGluay5qYXIKCiMgRWRpdCB0aGlzIHByb3BlcnR5IHRvICJ0cnVlIiB0byBlbmFibGUgZGVidWcgYXR0cmlidXRlcyBsaWtlIGxpbmVzLCB2YXJpYWJsZXMgYW5kIHNvdXJjZS1maWxlbmFtZS4KamF2YWMuZGVidWc9dHJ1ZQpqYXZhYy5kZWJ1Z2xldmVsPWxpbmVzLHZhcnMsc291cmNlCgojIEVkaXQgdGhpcyBwcm9wZXJ0eSB3aGVuIHlvdSB3b3VsZCBsaWtlIHRvIG92ZXJyaWRlIHRoZSBqYXZhIHZlcnNpb24gZHVyaW5nIHRlc3RpbmcKamF2YWMudmVyc2lvbj0xLjYKCiMgRWRpdCB0aGlzIHByb3BlcnR5IHRvIGluY3JlYXNlIHRoZSBtYXhNZW1vcnkgaGVhcCBtZW1vcnkgdXNlZCBieSB0aGUgdGVzdHMgaWYgeW91IGdldCBhbiBPdXRPZk1lbW9yeUV4Y2VwdGlvbiAtIHVzZSBKQ29uc29sZS5leGUgdG8gdHJpYWdlIHRoZSBtZW1vcnkgc3Bpa2UgYXQgdGhlIGVuZCBvZiB0aGUgdGVzdAojIFRoZSBjdXJyZW50IGRlZmF1bHQgaXMgNzY4bSAodGhlIExDICJtIiBpcyByZXF1aXJlZCIpCm1heC5oZWFwLm1lbW9yeT03NjhtCgojIERvIG5vdCBlZGl0IHRoZSBwcm9wZXJ0aWVzIGJlbG93LgoKIyBHZW5lcmFsIEluZnJhc3RydWN0dXJlIERlZmluaXRpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnRlc3QucHJvcGVydGllcz0uL3Rlc3QucHJvcGVydGllcwpzcmMuZGlyPXNyYwpjbGFzc2VzLmRpcj1jbGFzc2VzCmNsYXNzZXMyMS5kaXI9Y2xhc3NlczIxCmJ1aWxkLmRpcj1idWlsZApyZXNvdXJjZS5kaXI9cmVzb3VyY2UKcGx1Z2lucy5kaXI9cGx1Z2lucwoKIyBHZW5lcmFsIDNyZC1QYXJ0eSBBUEkgamFyIGRlZmluaXRpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN0YXhfYXBpLmphcj1qYXZheC54bWwuc3RyZWFtXzEuMC4xLnYyMDEwMDQyNzIyMDAuamFyCmFjdGl2YXRpb24uamFyPWphdmF4LmFjdGl2YXRpb25fMS4xLjAudjIwMTEwODAxMTExNi5qYXIKbWFpbC5qYXI9amF2YXgubWFpbF8xLjQuMC52MjAxMDA1MDgwNjE1LmphcgpyZXNvdXJjZS5qYXI9amF2YXgucmVzb3VyY2VfMS41LjAudjIwMDkwNjAxMDQyOC5qYXIKZWpiLmphcj1qYXZheC5lamJfMy4wLjAudjIwMDkwNjAxMDQyOC5qYXIKam1zLmphcj1qYXZheC5qbXNfMS4xLjAudjIwMDkwNjAxMDQyOC5qYXIKdHJhbnNhY3Rpb24uamFyPWphdmF4LnRyYW5zYWN0aW9uXzEuMS4wLnYyMDEwMDIwNTEwNTUuamFyCnJlc3RmdWx3cy5qYXI9amF2YXgud3MucnNfMS4xLjEudjIwMTAxMDA0LTEyMDAuamFyCmpheGItYXBpLmphcj1qYXZheC54bWwuYmluZF8yLjIuMC52MjAxMTA1MjEwNjQ4Lmphcgpjb21tb25qLnNkby5qYXI9Y29tbW9uai5zZG9fMi4xLjEudjIwMTExMjA1MTg1Mi5qYXIKYmVhbnZhbGlkYXRpb24uamFyPWphdmF4LnZhbGlkYXRpb25fMS4wLjAudjIwMTEwMzAxMTQwMS1DUjMuamFyCnBlcnNpc3RlbmNlMjEuamFyPWphdmF4LnBlcnNpc3RlbmNlXzIuMS4wLnYyMDEzMDQyNDEyMTMuamFyCnBlcnNpc3RlbmNlMjAuamFyPWphdmF4LnBlcnNpc3RlbmNlXzIuMC42LnYyMDEzMDgyMTE0MTIuamFyCnBlcnNpc3RlbmNlMTAuamFyPWphdmF4LnBlcnNpc3RlbmNlX3Vuc2lnbmVkX2Zvcl90ZXN0aW5nXzEuMC4wLmphcgojdW5zaWduZWQucGVyc2lzdGVuY2UxMC5qYXI9amF2YXgucGVyc2lzdGVuY2VfdW5zaWduZWRfZm9yX3Rlc3RpbmdfMS4wLjAuamFyCgojIFByb2R1Y3QgamFyIERlZmluaXRpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZWNsaXBzZWxpbmsubW9kZWxnZW4ucHJlZml4PW9yZy5lY2xpcHNlLnBlcnNpc3RlbmNlLmpwYS5tb2RlbGdlbgplY2xpcHNlbGluay5tb2RlbGdlbi5wcm9jZXNzb3IucHJlZml4PWVjbGlwc2VsaW5rLWpwYS1tb2RlbGdlbgojYW50bHI9b3JnLmVjbGlwc2UucGVyc2lzdGVuY2UuYW50bHIKCiMgQnVpbGQgQXJ0aWZhY3QgRGVmaW5pdGlvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpjb3JldGVzdC5mcmFtZXdvcmsuamFyPWVjbGlwc2VsaW5rLWNvcmV0ZXN0LWZyYW1ld29yay5qYXIKY29yZXRlc3QuamFyPWVjbGlwc2VsaW5rLWNvcmUtdGVzdHMuamFyCmpwYXRlc3QuZnJhbWV3b3JrLmphcj1lY2xpcHNlbGluay1qcGF0ZXN0LWZyYW1ld29yay5qYXIKb3JhY2xlLmpwYS50ZXN0Lmphcj1lY2xpcHNlbGluay1vcmFjbGUtanBhLXRlc3QuamFyCm5vc3FsLmpwYS50ZXN0Lmphcj1lY2xpcHNlbGluay1ub3NxbC1qcGEtdGVzdHMuamFyCmpwYS50ZXN0Lmphcj1lY2xpcHNlbGluay1qcGEtdGVzdHMuamFyCmpwYTIxLnRlc3QuamFyPWVjbGlwc2VsaW5rLWpwYTIxLXRlc3RzLmphcgoKI09MRCBEaXJlY3RvcnkgZGVmaW5pdGlvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNlY2xpcHNlbGluay5wbHVnaW5zPS4uL3BsdWdpbnMKI2VjbGlwc2VsaW5rLnBsdWdpbnMudHJ1bms9Li4vLi4vcGx1Z2lucwojZWNsaXBzZWxpbmsuY29yZS5kZXBlbmQ9JHthY3RpdmF0aW9uLmphcn0sJHtyZXNvdXJjZS5qYXJ9LCR7ZWpiLmphcn0sJHtqbXMuamFyfSwke3N0YXhfYXBpLmphcn0sJHt0cmFuc2FjdGlvbi5qYXJ9LCR7bWFpbC5qYXJ9CiNlY2xpcHNlbGluay5jb3JlPS4uL29yZy5lY2xpcHNlLnBlcnNpc3RlbmNlLmNvcmUKI2VjbGlwc2VsaW5rLmNvcmUudHJ1bms9Li4vLi4vZm91bmRhdGlvbi9vcmcuZWNsaXBzZS5wZXJzaXN0ZW5jZS5jb3JlCiNlY2xpcHNlbGluay5qcGE9Li4vb3JnLmVjbGlwc2UucGVyc2lzdGVuY2UuanBhCiNlY2xpcHNlbGluay5qcGEuZGVwZW5kPSR7cGVyc2lzdGVuY2UyMC5qYXJ9LCAke2JlYW52YWxpZGF0aW9uLmphcn0KI2VjbGlwc2VsaW5rLmNvcmUudGVzdD0uLi9lY2xpcHNlbGluay5jb3JlLnRlc3QKI2VjbGlwc2VsaW5rLmNvcmUudGVzdC50cnVuaz0uLi8uLi9mb3VuZGF0aW9uL2VjbGlwc2VsaW5rLmNvcmUudGVzdAojZWNsaXBzZWxpbmsubW94eT0uLi9vcmcuZWNsaXBzZS5wZXJzaXN0ZW5jZS5tb3h5CiNlY2xpcHNlbGluay5tb3h5LnRydW5rPS4uLy4uL21veHkvb3JnLmVjbGlwc2UucGVyc2lzdGVuY2UubW94eQojZWNsaXBzZWxpbmsubW94eS5wbHVnaW5zPS4uL3BsdWdpbnMKI2VjbGlwc2VsaW5rLm1veHkucGx1Z2lucy50cnVuaz0uLi8uLi9wbHVnaW5zCiNlY2xpcHNlbGluay5tb3h5LmRlcGVuZD1qYXZheC54bWwuYmluZF8yLjIuMC52MjAxMTA1MjEwNjQ4LmphcgojZWNsaXBzZWxpbmsuZXh0ZW5zaW9uLm9yYWNsZT0uLi9vcmcuZWNsaXBzZS5wZXJzaXN0ZW5jZS5vcmFjbGUKI2VjbGlwc2VsaW5rLmV4dGVuc2lvbi5vcmFjbGUudHJ1bms9Li4vLi4vZm91bmRhdGlvbi9vcmcuZWNsaXBzZS5wZXJzaXN0ZW5jZS5vcmFjbGUKI2VjbGlwc2VsaW5rLmV4dGVuc2lvbi5vcmFjbGUubm9zcWwudHJ1bms9Li4vLi4vZm91bmRhdGlvbi9vcmcuZWNsaXBzZS5wZXJzaXN0ZW5jZS5vcmFjbGUubm9zcWwKI2VjbGlwc2VsaW5rLmV4dGVuc2lvbi5vcmFjbGUudGVzdD0uLi9lY2xpcHNlbGluay5leHRlbnNpb24ub3JhY2xlLnRlc3QKI2VjbGlwc2VsaW5rLmV4dGVuc2lvbi5vcmFjbGUudGVzdC50cnVuaz0uLi8uLi9mb3VuZGF0aW9uL2VjbGlwc2VsaW5rLmV4dGVuc2lvbi5vcmFjbGUudGVzdAojZWNsaXBzZWxpbmsuZXh0ZW5zaW9uLm9yYWNsZS5ub3NxbC50ZXN0LnRydW5rPS4uLy4uL2ZvdW5kYXRpb24vZWNsaXBzZWxpbmsuZXh0ZW5zaW9uLm9yYWNsZS5ub3NxbC50ZXN0CgojSlBBIFRlc3QgTW9kZWwgRGVmaW5pdGlvbnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZWNsaXBzZWxpbmsuYW5ub3RhdGlvbi5tb2RlbD1lY2xpcHNlbGluay1hbm5vdGF0aW9uLW1vZGVsCmVjbGlwc2VsaW5rLmRkbC5nZW5lcmF0aW9uLm1vZGVsPWVjbGlwc2VsaW5rLWRkbC1nZW5lcmF0aW9uLW1vZGVsCmVjbGlwc2VsaW5rLnhtbC5vbmx5Lm1vZGVsPWVjbGlwc2VsaW5rLXhtbC1vbmx5LW1vZGVsCmVjbGlwc2VsaW5rLnhtbC5tZXJnZS5tb2RlbD1lY2xpcHNlbGluay14bWwtbWVyZ2UtbW9kZWwKZWNsaXBzZWxpbmsudmFsaWRhdGlvbi5mYWlsZWQubW9kZWw9ZWNsaXBzZWxpbmstdmFsaWRhdGlvbi1mYWlsZWQtbW9kZWwKZWNsaXBzZWxpbmsuYWR2YW5jZWQuZmllbGQuYWNjZXNzLm1vZGVsPWVjbGlwc2VsaW5rLWFkdmFuY2VkLWZpZWxkLWFjY2Vzcy1tb2RlbAplY2xpcHNlbGluay5hZHZhbmNlZC5wcm9wZXJ0aWVzPWVjbGlwc2VsaW5rLWFkdmFuY2VkLXByb3BlcnRpZXMKZWNsaXBzZWxpbmsueG1sLmV4dGVuZGVkLm1vZGVsPWVjbGlwc2VsaW5rLXhtbC1leHRlbmRlZC1tb2RlbAplY2xpcHNlbGluay5qcGEyMS5tb2RlbD1lY2xpcHNlbGluay1qcGEyMS1tb2RlbAplY2xpcHNlbGluay5wdS53aXRoLnNwYWNlcz1lY2xpcHNlbGluay1wdSB3aXRoIHNwYWNlcwplY2xpcHNlbGluay5jYXNjYWRlLmRlbGV0ZXM9ZWNsaXBzZWxpbmstY2FzY2FkZS1kZWxldGVzLW1vZGVsCiMgRU0gaGFzIG11bHRpLWJ5dGUgaGV4KEMzQTEpIGNoYXJzIGluIEVNIHBhdGggYW5kL29yIG5hbWUKZWNsaXBzZWxpbmsucHUud2l0aC5tdWx0aWJ5dGU9ZWNsaXBzZWxpbmstcHUtd2l0aC1tdWx0aWJ5dGUt4S1jaGFyCmVjbGlwc2VsaW5rLm1ldGFtb2RlbC5tb2RlbD1lY2xpcHNlbGluay1tZXRhbW9kZWwtbW9kZWwKanBhLnBlcmZvcm1hbmNlPWpwYS1wZXJmb3JtYW5jZQpqcGEucGVyZm9ybWFuY2UyPWpwYS1wZXJmb3JtYW5jZTIKZWNsaXBzZWxpbmsuZGVsaW1pdGVkLm1vZGVsPWVjbGlwc2VsaW5rLWRlbGltaXRlZC1tb2RlbAplY2xpcHNlbGluay5leHRlbnNpYmlsaXR5Lm1vZGVsPWVjbGlwc2VsaW5rLWV4dGVuc2liaWxpdHktbW9kZWwKZWNsaXBzZWxpbmsuYmVhbnZhbGlkYXRpb24ubW9kZWw9ZWNsaXBzZWxpbmstYmVhbnZhbGlkYXRpb24tbW9kZWwKCmVjbGlwc2VsaW5rLmNvbXBvc2l0ZS5hZHZhbmNlZC5tb2RlbD1lY2xpcHNlbGluay1jb21wb3NpdGUtYWR2YW5jZWQtbW9kZWwKZWNsaXBzZWxpbmsuY29tcG9zaXRlLmFkdmFuY2VkLm1vZGVsLm1lbWJlcl8xPWVjbGlwc2VsaW5rLWNvbXBvc2l0ZS1hZHZhbmNlZC1tb2RlbC1tZW1iZXJfMQplY2xpcHNlbGluay5jb21wb3NpdGUuYWR2YW5jZWQubW9kZWwubWVtYmVyXzI9ZWNsaXBzZWxpbmstY29tcG9zaXRlLWFkdmFuY2VkLW1vZGVsLW1lbWJlcl8yCmVjbGlwc2VsaW5rLmNvbXBvc2l0ZS5hZHZhbmNlZC5tb2RlbC5tZW1iZXJfMz1lY2xpcHNlbGluay1jb21wb3NpdGUtYWR2YW5jZWQtbW9kZWwtbWVtYmVyXzMKZWNsaXBzZWxpbmsueG1sLmNvbXBvc2l0ZS5hZHZhbmNlZC5tb2RlbD1lY2xpcHNlbGluay14bWwtY29tcG9zaXRlLWFkdmFuY2VkLW1vZGVsCmVjbGlwc2VsaW5rLnhtbC5jb21wb3NpdGUuYWR2YW5jZWQubW9kZWwubWVtYmVyXzE9ZWNsaXBzZWxpbmsteG1sLWNvbXBvc2l0ZS1hZHZhbmNlZC1tb2RlbC1tZW1iZXJfMQplY2xpcHNlbGluay54bWwuY29tcG9zaXRlLmFkdmFuY2VkLm1vZGVsLm1lbWJlcl8yPWVjbGlwc2VsaW5rLXhtbC1jb21wb3NpdGUtYWR2YW5jZWQtbW9kZWwtbWVtYmVyXzIKZWNsaXBzZWxpbmsueG1sLmNvbXBvc2l0ZS5hZHZhbmNlZC5tb2RlbC5tZW1iZXJfMz1lY2xpcHNlbGluay14bWwtY29tcG9zaXRlLWFkdmFuY2VkLW1vZGVsLW1lbWJlcl8zCmVjbGlwc2VsaW5rLnhtbC5leHRlbmRlZC5jb21wb3NpdGUuYWR2YW5jZWQubW9kZWw9ZWNsaXBzZWxpbmsteG1sLWV4dGVuZGVkLWNvbXBvc2l0ZS1hZHZhbmNlZC1tb2RlbAplY2xpcHNlbGluay54bWwuZXh0ZW5kZWQuY29tcG9zaXRlLmFkdmFuY2VkLm1vZGVsLm1lbWJlcl8xPWVjbGlwc2VsaW5rLXhtbC1leHRlbmRlZC1jb21wb3NpdGUtYWR2YW5jZWQtbW9kZWwtbWVtYmVyXzEKZWNsaXBzZWxpbmsueG1sLmV4dGVuZGVkLmNvbXBvc2l0ZS5hZHZhbmNlZC5tb2RlbC5tZW1iZXJfMj1lY2xpcHNlbGluay14bWwtZXh0ZW5kZWQtY29tcG9zaXRlLWFkdmFuY2VkLW1vZGVsLW1lbWJlcl8yCmVjbGlwc2VsaW5rLnhtbC5leHRlbmRlZC5jb21wb3NpdGUuYWR2YW5jZWQubW9kZWwubWVtYmVyXzM9ZWNsaXBzZWxpbmsteG1sLWV4dGVuZGVkLWNvbXBvc2l0ZS1hZHZhbmNlZC1tb2RlbC1tZW1iZXJfMwoKZWNsaXBzZWxpbmsuc3RydWN0LmNvbnZlcnRlci5tb2RlbD1lY2xpcHNlbGluay1zdHJ1Y3QtY29udmVydGVyLW1vZGVsCmVjbGlwc2VsaW5rLnRpbWVzdGFtcHR6Lm1vZGVsPWVjbGlwc2VsaW5rLXRpbWVzdGFtcHR6LW1vZGVsCmVjbGlwc2VsaW5rLmN1c3RvbWZlYXR1cmVzLm1vZGVsPWVjbGlwc2VsaW5rLWN1c3RvbWZlYXR1cmVzLW1vZGVsCmVjbGlwc2VsaW5rLnByb3h5YXV0aGVudGljYXRpb24ubW9kZWw9ZWNsaXBzZWxpbmstcHJveHlhdXRoZW50aWNhdGlvbi1tb2RlbAoKIyBPcmFjbGUgVGVzdGluZyBEZXBlbmRlbmN5IERlZmluaXRpb25zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZWNsaXBzZWxpbmsuanBhLm9yYWNsZT1lY2xpcHNlbGluay1qcGEtb3JhY2xlCm9yYWNsZS5zZG9hcGkuamFyPXNkb2FwaS5qYXIKb3JhY2xlLnhkYi5qYXI9eGRiLmphcgpvcmFjbGUueG1scGFyc2VyLmphcj14bWxwYXJzZXJ2Mi5qYXIKb3JhY2xlLm9yYWkxOG4tbWFwcGluZy5qYXI9b3JhaTE4bi1tYXBwaW5nLmphcgpvcmFjbGUubm9zcWwuamFyLmRpcj0uLi8uLi8uLi9leHRlbnNpb24ub3JhY2xlLmxpYi5leHRlcm5hbApvcmFjbGUubm9zcWwuamFyPWt2Y2xpZW50LmphcgoKIyBTcHJpbmcgVGVzdGluZyBEZXBlbmRlbmN5IERlZmluaXRpb25zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ByaW5nLmpsaWIuZGlyPS4uLy4uLy4uL2V4dGVuc2lvbi5saWIuZXh0ZXJuYWwvc3ByaW5nCnNwcmluZy5qbGliPWFvcC5qYXIsYXNtLmphcixhc3BlY3RzLmphcixiZWFucy5qYXIsY29udGV4dC5qYXIsY29udGV4dC5zdXBwb3J0Lmphcixjb3JlLmphcixleHByZXNzaW9uLmphcixpbnN0cnVtZW50LmphcixpbnN0cnVtZW50LnRvbWNhdC5qYXIsamRiYy5qYXIsam1zLmphcixvcm0uamFyLG94bS5qYXIsdGVzdC5qYXIsdHJhbnNhY3Rpb24uamFyLGFvcGFsbGlhbmNlLTEuMC5qYXIsY29tbW9ucy1sb2dnaW5nLmphcixjZ2xpYi1ub2RlcC0yLjFfMy5qYXIsam90bS1jbGllbnQuamFyLHNwcmluZy10eC0yLjUuamFyLHhhcG9vbC5qYXIKZWNsaXBzZWxpbmsuanBhLnNwcmluZy50ZXN0PS4uL2VjbGlwc2VsaW5rLmpwYS5zcHJpbmcudGVzdAoKIyBCZWFuVmFsaWRhdGlvbkpVbml0VGVzdCBEZXBlbmRlbmN5IERlZmluaXRpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KdmFsaWRhdGlvbi5pbXBsLmphcj12YWxpZGF0aW9uSW1wbC00LjEuMC5CZXRhMS5qYXIKc2xmNGouYXBpLmphcj1zbGY0ai1hcGktMS41LjExLmphcgpzbGY0ai5qZGsuamFyPXNsZjRqLWpkazE0LTEuNS4xMS5qYXIKdmFsaWRhdGlvbi5hcGkuamFyPXZhbGlkYXRpb24tYXBpLTEuMC4wLkdBLmphcgoKCgo=