IyBDYXRhbGFuIHRyYW5zbGF0aW9uIG9mIHNlZC4KIyBDb3B5cmlnaHQgqSAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBzZWQgcGFja2FnZS4KIyBKb3JkaSBNYWxsYWNoIDxqb3JkaUBnbnUub3JnPiwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwOC4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogc2VkIDQuMi4wXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWdudS11dGlsc0BnbnUub3JnXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0wNi0yNyAxNTowOCswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDA4LTAxLTE4IDA5OjI0KzAxMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogSm9yZGkgTWFsbGFjaCA8am9yZGlAZ251Lm9yZz5cbiIKIkxhbmd1YWdlLVRlYW06IENhdGFsYW4gPGNhQGRvZGRzLm5ldD5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9biE9MTtcbiIKCiM6IHNlZC9jb21waWxlLmM6MTYxCm1zZ2lkICJtdWx0aXBsZSBgISdzIgptc2dzdHIgIm36bHRpcGxlcyCrIbsiCgojOiBzZWQvY29tcGlsZS5jOjE2Mgptc2dpZCAidW5leHBlY3RlZCBgLCciCm1zZ3N0ciAiqyy7IGluZXNwZXJhZGEiCgojOiBzZWQvY29tcGlsZS5jOjE2Mwptc2dpZCAiaW52YWxpZCB1c2FnZSBvZiArTiBvciB+TiBhcyBmaXJzdCBhZGRyZXNzIgptc2dzdHIgIm5vIGVzIHBvdCB1dGlsaXR6YXIgK04gbyB+TiBjb20gYSBwcmltZXJhIGFkcmXnYSIKCiM6IHNlZC9jb21waWxlLmM6MTY0Cm1zZ2lkICJ1bm1hdGNoZWQgYHsnIgptc2dzdHIgIqt7uyBubyBlbXBhcmVsbGF0IgoKIzogc2VkL2NvbXBpbGUuYzoxNjUKbXNnaWQgInVuZXhwZWN0ZWQgYH0nIgptc2dzdHIgIqt9uyBpbmVzcGVyYXQiCgojOiBzZWQvY29tcGlsZS5jOjE2Ngptc2dpZCAiZXh0cmEgY2hhcmFjdGVycyBhZnRlciBjb21tYW5kIgptc2dzdHIgImhpIGhhIGNhcuBjdGVycyBleHRyYSBkZXNwculzIGRlIGwnb3JkcmUiCgojOiBzZWQvY29tcGlsZS5jOjE2Nwptc2dpZCAiZXhwZWN0ZWQgXFwgYWZ0ZXIgYGEnLCBgYycgb3IgYGknIgptc2dzdHIgInMnZXNwZXJhIFxcIGRlc3By6XMgZGUgq2G7LCCrY7sgaSCrabsiCgojOiBzZWQvY29tcGlsZS5jOjE2OAptc2dpZCAiYH0nIGRvZXNuJ3Qgd2FudCBhbnkgYWRkcmVzc2VzIgptc2dzdHIgIqt9uyBubyBhY2NlcHRhIGNhcCBhZHJl52EiCgojOiBzZWQvY29tcGlsZS5jOjE2OQptc2dpZCAiOiBkb2Vzbid0IHdhbnQgYW55IGFkZHJlc3NlcyIKbXNnc3RyICI6IG5vIGFjY2VwdGEgY2FwIGFkcmXnYSIKCiM6IHNlZC9jb21waWxlLmM6MTcwCm1zZ2lkICJjb21tZW50cyBkb24ndCBhY2NlcHQgYW55IGFkZHJlc3NlcyIKbXNnc3RyICJlbHMgY29tZW50YXJpcyBubyBhY2NlcHRlbiBjYXAgYWRyZedhIgoKIzogc2VkL2NvbXBpbGUuYzoxNzEKbXNnaWQgIm1pc3NpbmcgY29tbWFuZCIKbXNnc3RyICJjYWwgdW5hIG9yZHJlIgoKIzogc2VkL2NvbXBpbGUuYzoxNzIKbXNnaWQgImNvbW1hbmQgb25seSB1c2VzIG9uZSBhZGRyZXNzIgptc2dzdHIgImwnb3JkcmUgdXRpbGl0emEgbm9t6XMgdW5hIGFkcmXnYSIKCiM6IHNlZC9jb21waWxlLmM6MTczCm1zZ2lkICJ1bnRlcm1pbmF0ZWQgYWRkcmVzcyByZWdleCIKbXNnc3RyICJsJ2V4cHJlc3Np8yByZWd1bGFyIGQnYWRyZedhIG5vIGVzdOAgdGVybWluYWRhIgoKIzogc2VkL2NvbXBpbGUuYzoxNzQKbXNnaWQgInVudGVybWluYXRlZCBgcycgY29tbWFuZCIKbXNnc3RyICJvcmRyZSCrc7sgbm8gdGVybWluYWRhIgoKIzogc2VkL2NvbXBpbGUuYzoxNzUKbXNnaWQgInVudGVybWluYXRlZCBgeScgY29tbWFuZCIKbXNnc3RyICJvcmRyZSCrebsgbm8gdGVybWluYWRhIgoKIzogc2VkL2NvbXBpbGUuYzoxNzYKbXNnaWQgInVua25vd24gb3B0aW9uIHRvIGBzJyIKbXNnc3RyICJvcGNp8yBkZXNjb25lZ3VkYSBwZXIgYSCrc7siCgojOiBzZWQvY29tcGlsZS5jOjE3Nwptc2dpZCAibXVsdGlwbGUgYHAnIG9wdGlvbnMgdG8gYHMnIGNvbW1hbmQiCm1zZ3N0ciAibfpsdGlwbGVzIG9wY2lvbnMgq3C7IHBlciBhIGwnb3JkcmUgq3O7IgoKIzogc2VkL2NvbXBpbGUuYzoxNzgKbXNnaWQgIm11bHRpcGxlIGBnJyBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgIm36bHRpcGxlcyBvcGNpb25zIKtnuyBwZXIgYSBsJ29yZHJlIKtzuyIKCiM6IHNlZC9jb21waWxlLmM6MTc5Cm1zZ2lkICJtdWx0aXBsZSBudW1iZXIgb3B0aW9ucyB0byBgcycgY29tbWFuZCIKbXNnc3RyICJt+mx0aXBsZXMgb3BjaW9ucyBudW3ocmlxdWVzIHBlciBhIGwnb3JkcmUgq3O7IgoKIzogc2VkL2NvbXBpbGUuYzoxODAKbXNnaWQgIm51bWJlciBvcHRpb24gdG8gYHMnIGNvbW1hbmQgbWF5IG5vdCBiZSB6ZXJvIgptc2dzdHIgImwnb3BjafMgbnVt6HJpY2EgcGVyIGEgbCdvcmRyZSCrc7sgbm8gcG90IHNlciB6ZXJvIgoKIzogc2VkL2NvbXBpbGUuYzoxODEKbXNnaWQgInN0cmluZ3MgZm9yIGB5JyBjb21tYW5kIGFyZSBkaWZmZXJlbnQgbGVuZ3RocyIKbXNnc3RyICJsZXMgY2FkZW5lcyBwZXIgYSBsJ29yZHJlIKt5uyBz824gZGUgbG9uZ2l0dWRzIGRpZmVyZW50cyIKCiM6IHNlZC9jb21waWxlLmM6MTgyCm1zZ2lkICJkZWxpbWl0ZXIgY2hhcmFjdGVyIGlzIG5vdCBhIHNpbmdsZS1ieXRlIGNoYXJhY3RlciIKbXNnc3RyICJlbCBjYXLgY3RlciBkZWxpbWl0YWRvciBubyDpcyB1biBjYXLgY3RlciBkJ3VuIGJ5dGUiCgojOiBzZWQvY29tcGlsZS5jOjE4Mwptc2dpZCAiZXhwZWN0ZWQgbmV3ZXIgdmVyc2lvbiBvZiBzZWQiCm1zZ3N0ciAicydlc3BlcmF2YSB1bmEgdmVyc2nzIG3pcyBub3ZhIGRlIHNlZCIKCiM6IHNlZC9jb21waWxlLmM6MTg0Cm1zZ2lkICJpbnZhbGlkIHVzYWdlIG9mIGxpbmUgYWRkcmVzcyAwIgptc2dzdHIgIvpzIGRlIGwnYWRyZedhIGRlIGztbmlhIDAgaW524GxpZCIKCiM6IHNlZC9jb21waWxlLmM6MTg1CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duIGNvbW1hbmQ6IGAlYyciCm1zZ3N0ciAib3JkcmUgZGVzY29uZWd1ZGE6IKslY7siCgojOiBzZWQvY29tcGlsZS5jOjIwOAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgJXMgbGluZSAlbHU6ICVzXG4iCm1zZ3N0ciAiJXM6IGZpdHhlciAlcyBs7W5pYSAlbHU6ICVzXG4iCgojOiBzZWQvY29tcGlsZS5jOjIxMQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IC1lIGV4cHJlc3Npb24gIyVsdSwgY2hhciAlbHU6ICVzXG4iCm1zZ3N0ciAiJXM6IC1lIGV4cHJlc3Np8yAjJWx1LCBjYXLgY3RlciAlbHU6ICVzXG4iCgojOiBzZWQvY29tcGlsZS5jOjE2NjUKIywgYy1mb3JtYXQKbXNnaWQgImNhbid0IGZpbmQgbGFiZWwgZm9yIGp1bXAgdG8gYCVzJyIKbXNnc3RyICJubyBlcyB0cm9iYSBsJ2V0aXF1ZXRhIHBlciBhbCBzYWx0IGEgqyVzuyIKCiM6IHNlZC9leGVjdXRlLmM6NzA5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogY2FuJ3QgcmVhZCAlczogJXNcbiIKbXNnc3RyICIlczogbm8gZXMgcG90IGxsZWdpciAlczogJXNcbiIKCiM6IHNlZC9leGVjdXRlLmM6NzQwCiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBlZGl0ICVzOiBpcyBhIHRlcm1pbmFsIgptc2dzdHIgIm5vIHMnaGEgcG9ndXQgZWRpdGFyICVzOiDpcyB1biB0ZXJtaW5hbCIKCiM6IHNlZC9leGVjdXRlLmM6NzQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBlZGl0ICVzOiBub3QgYSByZWd1bGFyIGZpbGUiCm1zZ3N0ciAibm8gcydoYSBwb2d1dCBlZGl0YXIgJXM6IG5vIOlzIHVuIGZpdHhlciByZWd1bGFyIgoKIzogc2VkL2V4ZWN1dGUuYzo3NTcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB3YXJuaW5nOiBmYWlsZWQgdG8gc2V0IGRlZmF1bHQgZmlsZSBjcmVhdGlvbiBjb250ZXh0IHRvICVzOiAlcyIKbXNnc3RyICIiCgojOiBzZWQvZXhlY3V0ZS5jOjc2NAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHdhcm5pbmc6IGZhaWxlZCB0byBnZXQgc2VjdXJpdHkgY29udGV4dCBvZiAlczogJXMiCm1zZ3N0ciAiIgoKIzogc2VkL2V4ZWN1dGUuYzo3ODMgc2VkL3V0aWxzLmM6MjI3CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlICVzOiAlcyIKbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciB0ZW1wb3JhbCAlczogJXMiCgojOiBzZWQvZXhlY3V0ZS5jOjEzMTcgc2VkL2V4ZWN1dGUuYzoxNDk3Cm1zZ2lkICJlcnJvciBpbiBzdWJwcm9jZXNzIgptc2dzdHIgInMnaGEgcHJvZHXvdCB1biBlcnJvciBlbiBlbCBzdWJwcm9j6XMiCgojOiBzZWQvZXhlY3V0ZS5jOjEzMTkKbXNnaWQgIm9wdGlvbiBgZScgbm90IHN1cHBvcnRlZCIKbXNnc3RyICJsJ29wY2nzIKtluyBubyBlc3TgIHN1cG9ydGFkYSIKCiM6IHNlZC9leGVjdXRlLmM6MTQ5OQptc2dpZCAiYGUnIGNvbW1hbmQgbm90IHN1cHBvcnRlZCIKbXNnc3RyICJsJ29yZHJlIKtluyBubyBlc3TgIHN1cG9ydGFkYSIKCiM6IHNlZC9leGVjdXRlLmM6MTg0Mwptc2dpZCAibm8gaW5wdXQgZmlsZXMiCm1zZ3N0ciAibm8gaGkgaGEgZml0eGVycyBkJ2VudHJhZGEiCgojOiBzZWQvcmVnZXhwLmM6NDEKbXNnaWQgIm5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICJubyBoaSBoYSB1bmEgZXhwcmVzc2nzIHJlZ3VsYXIgcHLodmlhIgoKIzogc2VkL3JlZ2V4cC5jOjQyCm1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBtb2RpZmllcnMgb24gZW1wdHkgcmVnZXhwIgptc2dzdHIgIm5vIGVzIHBvZGVuIGVzcGVjaWZpY2FyIG1vZGlmaWNhZG9ycyBlbiBleHByZWdzIGJ1aWRlcyIKCiM6IHNlZC9yZWdleHAuYzoxMzEKIywgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgcmVmZXJlbmNlIFxcJWQgb24gYHMnIGNvbW1hbmQncyBSSFMiCm1zZ3N0ciAicmVmZXLobmNpYSBcXCVkIG5vIHbgbGlkYSBlbiBlbCBjb3N0YXQgZHJldCBkZSBsJ29yZHJlIKtzuyIKCiM6IHNlZC9zZWQuYzo5NwojLCBjLWZvcm1hdAptc2dpZCAiIgoiR05VIHNlZCBob21lIHBhZ2U6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvc2VkLz4uXG4iCiJHZW5lcmFsIGhlbHAgdXNpbmcgR05VIHNvZnR3YXJlOiA8aHR0cDovL3d3dy5nbnUub3JnL2dldGhlbHAvPi5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTA0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiRS1tYWlsIGJ1ZyByZXBvcnRzIHRvOiA8JXM+LlxuIgoiQmUgc3VyZSB0byBpbmNsdWRlIHRoZSB3b3JkIGBgJXMnJyBzb21ld2hlcmUgaW4gdGhlIGBgU3ViamVjdDonJyBmaWVsZC5cbiIKbXNnc3RyICIiCiJFbnZpZXUgaW5mb3JtZXMgZCdlcnJvciBhOiAlcy5cbiIKIkFzc2VndXJldS12b3MgZCdpbmNsb3VyZSBsYSBwYXJhdWxhIKslc7sgZW4gYWxndW5hIHBhcnQgZGVsIGNhbXAgq0Fzc3VtcHRlOrsuXG4iCgojOiBzZWQvc2VkLmM6MTE3Cm1zZ2lkICIiCiIgIC1SLCAtLXJlZ2V4cC1wZXJsXG4iCiIgICAgICAgICAgICAgICAgIHVzZSBQZXJsIDUncyByZWd1bGFyIGV4cHJlc3Npb25zIHN5bnRheCBpbiB0aGUgc2NyaXB0LlxuIgptc2dzdHIgIiIKIiAgLVIsIC0tcmVnZXhwLXBlcmxcbiIKIiAgICAgICAgICAgICAgICAgdXNhIGxhIHNpbnRheGkgZCdleHByZXNzaW9ucyByZWd1bGFycyBkZSBQZXJsIDUgZW4gYXF1ZXN0YVxuIgoiICAgICAgICAgICAgICAgICBzZXF16G5jaWEuXG4iCgojOiBzZWQvc2VkLmM6MTIyCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJVc2FnZTogJXMgW09QVElPTl0uLi4ge3NjcmlwdC1vbmx5LWlmLW5vLW90aGVyLXNjcmlwdH0gW2lucHV0LWZpbGVdLi4uXG4iCiJcbiIKbXNnc3RyICIiCiJGb3JtYSBkJ/pzOiAlcyBbT1BDSdNdLi4uIHtzY3JpcHQtbm9t6XMtc2ktbm8taGktaGEtYWx0cmVzLXNjcmlwdHN9XG4iCiIgICAgICAgICAgICAgICBbZml0eGVyLWVudHJhZGFdLi4uXG4iCiJcbiIKCiM6IHNlZC9zZWQuYzoxMjYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLW4sIC0tcXVpZXQsIC0tc2lsZW50XG4iCiIgICAgICAgICAgICAgICAgIHN1cHByZXNzIGF1dG9tYXRpYyBwcmludGluZyBvZiBwYXR0ZXJuIHNwYWNlXG4iCm1zZ3N0ciAiIgoiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKIiAgICAgICAgICAgICAgICAgc3VwcmltZWl4IGxhIGltcHJlc3Np8yBhdXRvbeB0aWNhIGRlIGwnZXNwYWkgZGUgcGF0cm9uc1xuIgoKIzogc2VkL3NlZC5jOjEyOAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtZSBzY3JpcHQsIC0tZXhwcmVzc2lvbj1zY3JpcHRcbiIKIiAgICAgICAgICAgICAgICAgYWRkIHRoZSBzY3JpcHQgdG8gdGhlIGNvbW1hbmRzIHRvIGJlIGV4ZWN1dGVkXG4iCm1zZ3N0ciAiIgoiICAtZSBzY3JpcHQsIC0tZXhwcmVzc2lvbj1zY3JpcHRcbiIKIiAgICAgICAgICAgICAgICAgYWZlZ2VpeCBlbCBzY3JpcHQgYSBsZXMgb3JkcmVzIGEgZXhlY3V0YXJcbiIKCiM6IHNlZC9zZWQuYzoxMzAKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWYgc2NyaXB0LWZpbGUsIC0tZmlsZT1zY3JpcHQtZmlsZVxuIgoiICAgICAgICAgICAgICAgICBhZGQgdGhlIGNvbnRlbnRzIG9mIHNjcmlwdC1maWxlIHRvIHRoZSBjb21tYW5kcyB0byBiZSAiCiJleGVjdXRlZFxuIgptc2dzdHIgIiIKIiAgLWYgZml0eGVyLXNjcmlwdCwgLS1maWxlPWZpdHhlci1zY3JpcHRcbiIKIiAgICAgICAgICAgICAgICAgYWZlZ2VpeCBlbHMgY29udGluZ3V0cyBkZSBmaXR4ZXItc2NyaXB0IGEgbGVzIG9yZHJlcyBhICIKImV4ZWN1dGFyXG4iCgojOiBzZWQvc2VkLmM6MTMzCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC0tZm9sbG93LXN5bWxpbmtzXG4iCiIgICAgICAgICAgICAgICAgIGZvbGxvdyBzeW1saW5rcyB3aGVuIHByb2Nlc3NpbmcgaW4gcGxhY2VcbiIKbXNnc3RyICIiCiIgIC0tZm9sbG93LXN5bWxpbmtzXG4iCiIgICAgICAgICAgICAgICAgIHNlZ3VlaXggZW5sbGHnb3Mgc2ltYvJsaWNzIHF1YW4gcydlZGl0ZW4gZWxzIG1hdGVpeG9zICIKImZpdHhlcnNcbiIKCiM6IHNlZC9zZWQuYzoxMzYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWlbU1VGRklYXSwgLS1pbi1wbGFjZVs9U1VGRklYXVxuIgoiICAgICAgICAgICAgICAgICBlZGl0IGZpbGVzIGluIHBsYWNlIChtYWtlcyBiYWNrdXAgaWYgZXh0ZW5zaW9uIHN1cHBsaWVkKVxuIgptc2dzdHIgIiIKIiAgLWlbU1VGSVhdLCAtLWluLXBsYWNlWz1TVUZJWF1cbiIKIiAgICAgICAgICAgICAgICAgZWRpdGEgZWxzIG1hdGVpeG9zIGZpdHhlcnMgKGZhIGPycGlhIGRlIHNlZ3VyZXRhdCBzaSBlc1xuIgoiICAgICAgICAgICAgICAgICBwcm92ZWVpeCB1bmEgZXh0ZW5zafMpXG4iCgojOiBzZWQvc2VkLmM6MTM5CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1iLCAtLWJpbmFyeVxuIgoiICAgICAgICAgICAgICAgICBvcGVuIGZpbGVzIGluIGJpbmFyeSBtb2RlIChDUitMRnMgYXJlIG5vdCBwcm9jZXNzZWQgIgoic3BlY2lhbGx5KVxuIgptc2dzdHIgIiIKIiAgLWIsIC0tYmluYXJ5XG4iCiIgICAgICAgICAgICAgICAgb2JyZSBlbHMgZml0eGVycyBlbiBtb2RlIGJpbmFyaSAobm8gZXMgcHJvY2Vzc2VuIGVscyBDUitMRlxuIgoiICAgICAgICAgICAgICAgIGRlIG1hbmVyYSBlc3BlY2lhbClcbiIKCiM6IHNlZC9zZWQuYzoxNDIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWwgTiwgLS1saW5lLWxlbmd0aD1OXG4iCiIgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhlIGRlc2lyZWQgbGluZS13cmFwIGxlbmd0aCBmb3IgdGhlIGBsJyBjb21tYW5kXG4iCm1zZ3N0ciAiIgoiICAtbCBOLCAtLWxpbmUtbGVuZ3RoPU5cbiIKIiAgICAgICAgICAgICAgICAgZXNwZWNpZmljYSBsYSBsb25naXR1ZCBkZXNpdGphZGEgcGVyIGEgbCdhanVzdCBkZSBmaW5hbCBkZVxuIgoiICAgICAgICAgICAgICAgICBs7W5pYSBwZXIgYSBsJ29yZHJlIKtsu1xuIgoKIzogc2VkL3NlZC5jOjE0NAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtLXBvc2l4XG4iCiIgICAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIEdOVSBleHRlbnNpb25zLlxuIgptc2dzdHIgIiIKIiAgLS1wb3NpeFxuIgoiICAgICAgICAgICAgICAgICBpbmhhYmlsaXRhIHRvdGVzIGxlcyBleHRlbnNpb25zIEdOVS5cbiIKCiM6IHNlZC9zZWQuYzoxNDYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLXIsIC0tcmVnZXhwLWV4dGVuZGVkXG4iCiIgICAgICAgICAgICAgICAgIHVzZSBleHRlbmRlZCByZWd1bGFyIGV4cHJlc3Npb25zIGluIHRoZSBzY3JpcHQuXG4iCm1zZ3N0ciAiIgoiICAtciwgLS1yZWdleHAtZXh0ZW5kZWRcbiIKIiAgICAgICAgICAgICAgICAgdXNhIGV4cHJlc3Npb25zIHJlZ3VsYXJzIGV4dGVzZXMgZW4gZWwgc2NyaXB0LlxuIgoKIzogc2VkL3NlZC5jOjE1MQojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtcywgLS1zZXBhcmF0ZVxuIgoiICAgICAgICAgICAgICAgICBjb25zaWRlciBmaWxlcyBhcyBzZXBhcmF0ZSByYXRoZXIgdGhhbiBhcyBhIHNpbmdsZSAiCiJjb250aW51b3VzXG4iCiIgICAgICAgICAgICAgICAgIGxvbmcgc3RyZWFtLlxuIgptc2dzdHIgIiIKIiAgLXMsIC0tc2VwYXJhdGVcbiIKIiAgICAgICAgICAgICAgICAgY29uc2lkZXJhIGVscyBmaXR4ZXJzIGNvbSBpbmRlcGVuZGVudHMsIGVuIGNvbXB0ZSBkJ3VuXG4iCiIgICAgICAgICAgICAgICAgIGxsYXJnIGZsdXggY29udGludS5cbiIKCiM6IHNlZC9zZWQuYzoxNTQKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLXUsIC0tdW5idWZmZXJlZFxuIgoiICAgICAgICAgICAgICAgICBsb2FkIG1pbmltYWwgYW1vdW50cyBvZiBkYXRhIGZyb20gdGhlIGlucHV0IGZpbGVzIGFuZCAiCiJmbHVzaFxuIgoiICAgICAgICAgICAgICAgICB0aGUgb3V0cHV0IGJ1ZmZlcnMgbW9yZSBvZnRlblxuIgptc2dzdHIgIiIKIiAgLXUsIC0tdW5idWZmZXJlZFxuIgoiICAgICAgICAgICAgICAgICBjYXJyZWdhIHVuYSBxdWFudGl0YXQgbe1uaW1hIGRlIGRhZGVzIGRlbHMgZml0eGVycyAiCiJkJ2VudHJhZGFcbiIKIiAgICAgICAgICAgICAgICAgaSBidWlkYSBlbHMgYvpmZXJzIGQnZWl4aWRhIG3pcyBzb3ZpbnRcbiIKCiM6IHNlZC9zZWQuYzoxNTcKIywgYy1mb3JtYXQKbXNnaWQgIiAgICAgIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKbXNnc3RyICIgICAgICAtLWhlbHAgICAgIG1vc3RyYSBhcXVlc3QgbWlzc2F0Z2UgZCdhanVkYSBpIHN1cnRcbiIKCiM6IHNlZC9zZWQuYzoxNTgKIywgYy1mb3JtYXQKbXNnaWQgIiAgICAgIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKbXNnc3RyICIgICAgICAtLXZlcnNpb24gIG1vc3RyYSBsYSBpbmZvcm1hY2nzIGRlIGxhIHZlcnNp8yBpIHN1cnRcbiIKCiM6IHNlZC9zZWQuYzoxNTkKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiSWYgbm8gLWUsIC0tZXhwcmVzc2lvbiwgLWYsIG9yIC0tZmlsZSBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gdGhlIGZpcnN0XG4iCiJub24tb3B0aW9uIGFyZ3VtZW50IGlzIHRha2VuIGFzIHRoZSBzZWQgc2NyaXB0IHRvIGludGVycHJldC4gIEFsbFxuIgoicmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgbmFtZXMgb2YgaW5wdXQgZmlsZXM7IGlmIG5vIGlucHV0IGZpbGVzIGFyZVxuIgoic3BlY2lmaWVkLCB0aGVuIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLlxuIgoiXG4iCm1zZ3N0ciAiIgoiXG4iCiJTaSBubyBlcyBkb25lbiBjYXAgZGUgbGVzIG9wY2lvbnMgLWUsIC0tZXhwcmVzc2lvbiwgLWYgbyAtLWZpbGUsIGVsIHByaW1lclxuIgoiYXJndW1lbnQgbm8tb3BjafMgZXMgcHJlbiBjb20gZWwgc2NyaXB0IHNlZCBhIGludGVycHJldGFyLiBUb3RzIGVscyAiCiJhcmd1bWVudHNcbiIKInJlc3RhbnRzIHPzbiBub21zIGRlIGZpdHhlcnMgZCdlbnRyYWRhOyBzaSBubyBzJ2VzcGVjaWZpcXVlbiBmaXR4ZXJzICIKImQnZW50cmFkYSxcbiIKImVzIGxsZWdlaXggbCdlbnRyYWRhIGVzdOBuZGFyZC5cbiIKIlxuIgoKIzogc2VkL3NlZC5jOjMxNQojLCBjLWZvcm1hdAptc2dpZCAic3VwZXItc2VkIHZlcnNpb24gJXNcbiIKbXNnc3RyICJzdXBlci1zZWQgdmVyc2nzICVzXG4iCgojOiBzZWQvc2VkLmM6MzE2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJiYXNlZCBvbiBHTlUgc2VkIHZlcnNpb24gJXNcbiIKIlxuIgptc2dzdHIgIiIKImJhc2F0IGVuIEdOVSBzZWQgdmVyc2nzICVzXG4iCiJcbiIKCiM6IHNlZC9zZWQuYzozMTgKIywgYy1mb3JtYXQKbXNnaWQgIkdOVSBzZWQgdmVyc2lvbiAlc1xuIgptc2dzdHIgIkdOVSBzZWQgdmVyc2nzICVzXG4iCgojOiBzZWQvc2VkLmM6MzIwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiQ29weXJpZ2h0IChDKSAlZCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PXG4iCiJ3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcbiIKInRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKbXNnc3RyICIiCiIlc1xuIgoiQXF1ZXN0IOlzIHByb2dyYW1hcmkgbGxpdXJlOyB2ZWdldSBlbCBjb2RpIGZvbnQgcGVyIGxlcyBjb25kaWNpb25zXG4iCiJkZSBj8nBpYS4gIE5vIGhpIGhhIENBUCBnYXJhbnRpYTsgbmkgdGFuIHNvbHMgZGUgQ09NRVJDSUFCSUxJVEFUIG9cbiIKIkFERVFVQUNJ0yBBIFVOIFBST1DSU0lUIFBBUlRJQ1VMQVIsIGZpbnMgb24gaG8gcGVybWV0YSBsYSBsbGVpLlxuIgoKIzogc2VkL3V0aWxzLmM6OTMgc2VkL3V0aWxzLmM6NDM4CiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3QgcmVtb3ZlICVzOiAlcyIKbXNnc3RyICJubyBlcyBwb3QgZWxpbWluYXIgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6MTYzCiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBvcGVuIGZpbGUgJXM6ICVzIgptc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZml0eGVyICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjE4NgojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgYXR0YWNoIHRvICVzOiAlcyIKbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFkanVudGFyIGEgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6MjQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCB3cml0ZSAlZCBpdGVtIHRvICVzOiAlcyIKbXNnaWRfcGx1cmFsICJjb3VsZG4ndCB3cml0ZSAlZCBpdGVtcyB0byAlczogJXMiCm1zZ3N0clswXSAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSAlZCBlbGVtZW50IGEgJXM6ICVzIgptc2dzdHJbMV0gIm5vIHMnaGFuIHBvZ3V0IGVzY3JpdXJlICVkIGVsZW1lbnRzIGEgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6MjYwIHNlZC91dGlscy5jOjI3NgojLCBjLWZvcm1hdAptc2dpZCAicmVhZCBlcnJvciBvbiAlczogJXMiCm1zZ3N0ciAiZXJyb3IgZGUgbGVjdHVyYSBlbiAlczogJXMiCgojOiBzZWQvdXRpbHMuYzozNzgKIywgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IGZvbGxvdyBzeW1saW5rICVzOiAlcyIKbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHNlZ3VpciBsJ2VubGxh5yBzaW1i8mxpYyAlczogJXMiCgojOiBzZWQvdXRpbHMuYzo0MTIKIywgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCBzdGF0ICVzOiAlcyIKbXNnc3RyICJubyBlcyBwb3QgZmVyIKtzdGF0uyBkZSAlczogJXMiCgojOiBzZWQvdXRpbHMuYzo0NDMKIywgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCByZW5hbWUgJXM6ICVzIgptc2dzdHIgIm5vIGVzIHBvdCByZWFub21lbmFyICVzOiAlcyIKCiM6IGxpYi9yZWdjb21wLmM6MTM0Cm1zZ2lkICJTdWNjZXNzIgptc2dzdHIgIsh4aXQiCgojOiBsaWIvcmVnY29tcC5jOjEzNwptc2dpZCAiTm8gbWF0Y2giCm1zZ3N0ciAiU2Vuc2UgcGFyZWxsYSIKCiM6IGxpYi9yZWdjb21wLmM6MTQwCm1zZ2lkICJJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICJFeHByZXNzafMgcmVndWxhciBubyB24GxpZGEiCgojOiBsaWIvcmVnY29tcC5jOjE0Mwptc2dpZCAiSW52YWxpZCBjb2xsYXRpb24gY2hhcmFjdGVyIgptc2dzdHIgIkVsIGNhcuBjdGVyIGRlIGNvbXBhcmFjafMgbm8g6XMgduBsaWQiCgojOiBsaWIvcmVnY29tcC5jOjE0Ngptc2dpZCAiSW52YWxpZCBjaGFyYWN0ZXIgY2xhc3MgbmFtZSIKbXNnc3RyICJOb20gZGUgY2xhc3NlIGRlIGNhcuBjdGVyIG5vIHbgbGlkIgoKIzogbGliL3JlZ2NvbXAuYzoxNDkKbXNnaWQgIlRyYWlsaW5nIGJhY2tzbGFzaCIKbXNnc3RyICJCYXJyYSBpbnZlcnRpZGEgYWwgZmluYWwiCgojOiBsaWIvcmVnY29tcC5jOjE1Mgptc2dpZCAiSW52YWxpZCBiYWNrIHJlZmVyZW5jZSIKbXNnc3RyICJMYSByZWZlcuhuY2lhIGNhcCBlbnJlcmUgbm8g6XMgduBsaWRhIgoKIzogbGliL3JlZ2NvbXAuYzoxNTUKbXNnaWQgIlVubWF0Y2hlZCBbIG9yIFteIgptc2dzdHIgIlsgbyBbXiBubyBlbXBhcmVsbGF0IgoKIzogbGliL3JlZ2NvbXAuYzoxNTgKbXNnaWQgIlVubWF0Y2hlZCAoIG9yIFxcKCIKbXNnc3RyICKrKLsgbyBcXCggbm8gZW1wYXJlbGxhdCIKCiM6IGxpYi9yZWdjb21wLmM6MTYxCm1zZ2lkICJVbm1hdGNoZWQgXFx7Igptc2dzdHIgIlxceyBubyBlbXBhcmVsbGF0IgoKIzogbGliL3JlZ2NvbXAuYzoxNjQKbXNnaWQgIkludmFsaWQgY29udGVudCBvZiBcXHtcXH0iCm1zZ3N0ciAiRWwgY29udGluZ3V0IGRlIFxce1xcfSBubyDpcyB24GxpZCIKCiM6IGxpYi9yZWdjb21wLmM6MTY3Cm1zZ2lkICJJbnZhbGlkIHJhbmdlIGVuZCIKbXNnc3RyICJFbCByYW5nIGZpbmFsIG5vIOlzIHbgbGlkIgoKIzogbGliL3JlZ2NvbXAuYzoxNzAKbXNnaWQgIk1lbW9yeSBleGhhdXN0ZWQiCm1zZ3N0ciAiTWVt8nJpYSBleGhhdXJpZGEiCgojOiBsaWIvcmVnY29tcC5jOjE3Mwptc2dpZCAiSW52YWxpZCBwcmVjZWRpbmcgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIkwnZXhwcmVzc2nzIHJlZ3VsYXIgcHJlY2VkZW50IG5vIHbgbGlkYSIKCiM6IGxpYi9yZWdjb21wLmM6MTc2Cm1zZ2lkICJQcmVtYXR1cmUgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICJGaSBwcmVtYXR1ciBkZSBsJ2V4cHJlc3Np8yByZWd1bGFyIgoKIzogbGliL3JlZ2NvbXAuYzoxNzkKbXNnaWQgIlJlZ3VsYXIgZXhwcmVzc2lvbiB0b28gYmlnIgptc2dzdHIgIkwnZXhwcmVzc2nzIHJlZ3VsYXIg6XMgbWFzc2EgZ3JhbiIKCiM6IGxpYi9yZWdjb21wLmM6MTgyCm1zZ2lkICJVbm1hdGNoZWQgKSBvciBcXCkiCm1zZ3N0ciAiKSBvIFxcKSBubyBlbXBhcmVsbGF0IgoKIzogbGliL3JlZ2NvbXAuYzo3MDMKbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICJObyBoaSBoYSB1bmEgZXhwcmVzc2nzIHJlZ3VsYXIgcHLodmlhIgoKI34gbXNnaWQgIkNhbGxlZCBzYXZjaGFyKCkgd2l0aCB1bmV4cGVjdGVkIHB1c2hiYWNrICgleCkiCiN+IG1zZ3N0ciAiUydoYSBjcmlkYXQgYSBzYXZjaGFyKCkgYW1iIHVuYSBlc3BlbnRhIGluZXNwZXJhZGEgKCV4KSIKCiN+IG1zZ2lkICJJTlRFUk5BTCBFUlJPUjogYmFkIGFkZHJlc3MgdHlwZSIKI34gbXNnc3RyICJFUlJPUiBJTlRFUk46IHRpcHVzIGQnYWRyZedhIGVycvJuaWEiCgojfiBtc2dpZCAiSU5URVJOQUwgRVJST1I6IEJhZCBjbWQgJWMiCiN+IG1zZ3N0ciAiRVJST1IgSU5URVJOOiBPcmRyZSBlcnLybmlhICVjIgoKI34gbXNnaWQgIiIKI34gIlVzYWdlOiAlcyBbT1BUSU9OXS4uLiB7c2NyaXB0LW9ubHktaWYtbm8tb3RoZXItc2NyaXB0fSBbaW5wdXQtZmlsZV0uLi5cbiIKI34gIlxuIgojfiAiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKI34gIiAgICAgICAgICAgICAgICAgc3VwcHJlc3MgYXV0b21hdGljIHByaW50aW5nIG9mIHBhdHRlcm4gc3BhY2VcbiIKI34gIiAgLWUgc2NyaXB0LCAtLWV4cHJlc3Npb249c2NyaXB0XG4iCiN+ICIgICAgICAgICAgICAgICAgIGFkZCB0aGUgc2NyaXB0IHRvIHRoZSBjb21tYW5kcyB0byBiZSBleGVjdXRlZFxuIgojfiAiICAtZiBzY3JpcHQtZmlsZSwgLS1maWxlPXNjcmlwdC1maWxlXG4iCiN+ICIgICAgICAgICAgICAgICAgIGFkZCB0aGUgY29udGVudHMgb2Ygc2NyaXB0LWZpbGUgdG8gdGhlIGNvbW1hbmRzIHRvIGJlICIKI34gImV4ZWN1dGVkXG4iCiN+ICIgIC1pW3N1ZmZpeF0sIC0taW4tcGxhY2VbPXN1ZmZpeF1cbiIKI34gIiAgICAgICAgICAgICAgICAgZWRpdCBmaWxlcyBpbiBwbGFjZSAobWFrZXMgYmFja3VwIGlmIGV4dGVuc2lvbiAiCiN+ICJzdXBwbGllZClcbiIKI34gIiAgLWwgTiwgLS1saW5lLWxlbmd0aD1OXG4iCiN+ICIgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhlIGRlc2lyZWQgbGluZS13cmFwIGxlbmd0aCBmb3IgdGhlIGBsJyAiCiN+ICJjb21tYW5kXG4iCiN+ICIgIC1yLCAtLXJlZ2V4cC1leHRlbmRlZFxuIgojfiAiICAgICAgICAgICAgICAgICB1c2UgZXh0ZW5kZWQgcmVndWxhciBleHByZXNzaW9ucyBpbiB0aGUgc2NyaXB0LlxuIgojfiAiJXMgIC1zLCAtLXNlcGFyYXRlXG4iCiN+ICIgICAgICAgICAgICAgICAgIGNvbnNpZGVyIGZpbGVzIGFzIHNlcGFyYXRlIHJhdGhlciB0aGFuIGFzIGEgc2luZ2xlICIKI34gImNvbnRpbnVvdXNcbiIKI34gIiAgICAgICAgICAgICAgICAgbG9uZyBzdHJlYW0uXG4iCiN+ICIgIC11LCAtLXVuYnVmZmVyZWRcbiIKI34gIiAgICAgICAgICAgICAgICAgbG9hZCBtaW5pbWFsIGFtb3VudHMgb2YgZGF0YSBmcm9tIHRoZSBpbnB1dCBmaWxlcyBhbmQgIgojfiAiZmx1c2hcbiIKI34gIiAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBidWZmZXJzIG1vcmUgb2Z0ZW5cbiIKI34gIiAgICAgIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKI34gIlxuIgojfiAiSWYgbm8gLWUsIC0tZXhwcmVzc2lvbiwgLWYsIG9yIC0tZmlsZSBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gdGhlIGZpcnN0XG4iCiN+ICJub24tb3B0aW9uIGFyZ3VtZW50IGlzIHRha2VuIGFzIHRoZSBzZWQgc2NyaXB0IHRvIGludGVycHJldC4gIEFsbFxuIgojfiAicmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgbmFtZXMgb2YgaW5wdXQgZmlsZXM7IGlmIG5vIGlucHV0IGZpbGVzIGFyZVxuIgojfiAic3BlY2lmaWVkLCB0aGVuIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLlxuIgojfiAiXG4iCiN+IG1zZ3N0ciAiIgojfiAi2nM6ICVzIFtPUENJ010uLi4ge3NjcmlwdC1ub23pcy1zaS1uby1oaS1oYS1hbHRyZXMtc2NyaXB0c30gW2ZpdHhlci0iCiN+ICJlbnRyYWRhXS4uLlxuIgojfiAiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKI34gIiAgICAgICAgICAgICAgICAgc3VwcmltZWl4IGxhIGltcHJlc3Np8yBhdXRvbeB0aWNhIGRlIGwnZXNwYWkgZGUgcGF0cm9uc1xuIgojfiAiICAtZSBzY3JpcHQsIC0tZXhwcmVzc2lvbj1zY3JpcHRcbiIKI34gIiAgICAgICAgICAgICAgICAgYWZlZ2VpeCBlbCBzY3JpcHQgYSBsZXMgb3JkcmVzIGEgZXhlY3V0YXJcbiIKI34gIiAgLWYgZml0eGVyLXNjcmlwdCwgLS1maWxlPWZpdHhlci1zY3JpcHRcbiIKI34gIiAgICAgICAgICAgICAgICAgYWZlZ2VpeCBlbHMgY29udGluZ3V0cyBkZSBmaXR4ZXItc2NyaXB0IGEgbGVzIG9yZHJlcyBhICIKI34gImV4ZWN1dGFyXG4iCiN+ICIgIC1pW3N1Zml4XSwgLS1pbi1wbGFjZVs9c3VmaXhdXG4iCiN+ICIgICAgICAgICAgICAgICAgIGVkaXRhIGVscyBtYXRlaXhvcyBmaXR4ZXJzIChmYSBj8nBpYSBkZSBzZWd1cmV0YXQgc2kgZXNcbiIKI34gIiAgICAgICAgICAgICAgICAgcHJvdmVlaXggdW5hIGV4dGVuc2nzKVxuIgojfiAiICAtbCBOLCAtLWxpbmUtbGVuZ3RoPU5cbiIKI34gIiAgICAgICAgICAgICAgICAgZXNwZWNpZmljYSBsYSBsb25naXR1ZCBkZXNpdGphZGEgcGVyIGEgbCdhanVzdCBkZSBmaW5hbCAiCiN+ICJkZVxuIgojfiAiICAgICAgICAgICAgICAgICBs7W5pYSBwZXIgYSBsJ29yZHJlIKtsu1xuIgojfiAiICAtciwgLS1yZWdleHAtZXh0ZW5kZWRcbiIKI34gIiAgICAgICAgICAgICAgICAgdXNhIGV4cHJlc3Npb25zIHJlZ3VsYXJzIGV4dGVzZXMgZW4gZWwgc2NyaXB0LlxuIgojfiAiJXMgIC1zLCAtLXNlcGFyYXRlXG4iCiN+ICIgICAgICAgICAgICAgICAgIGNvbnNpZGVyYSBlbHMgZml0eGVycyBjb20gaW5kZXBlbmRlbnRzLCBlbiBjb21wdGUgZCd1biAiCiN+ICJsbGFyZ1xuIgojfiAiICAgICAgICAgICAgICAgICBmbHV4IGNvbnRpbnUuXG4iCiN+ICIgIC11LCAtLXVuYnVmZmVyZWRcbiIKI34gIlxuIgojfiAiICAgICAgLS1oZWxwICAgICBtb3N0cmEgYXF1ZXN0IG1pc3NhdGdlIGQnYWp1ZGEgaSBzdXJ0XG4iCiN+ICIgIC1WLCAtLXZlcnNpb24gIG1vc3RyYSBsYSBpbmZvcm1hY2nzIGRlIGxhIHZlcnNp8yBpIHN1cnRcbiIKI34gIlxuIgojfiAiU2kgbm8gZXMgZG9uZW4gY2FwIGRlIGxlcyBvcGNpb25zIC1lLCAtLWV4cHJlc3Npb24sIC1mIG8gLS1maWxlLCBlbCAiCiN+ICJwcmltZXJcbiIKI34gImFyZ3VtZW50IG5vLW9wY2nzIGVzIHByZW4gY29tIGVsIHNjcmlwdCBzZWQgYSBpbnRlcnByZXRhci4gVG90cyBlbHMgIgojfiAiYXJndW1lbnRzXG4iCiN+ICJyZXN0YW50cyBz824gbm9tcyBkZSBmaXR4ZXJzIGQnZW50cmFkYTsgc2kgbm8gcydlc3BlY2lmaXF1ZW4gZml0eGVycyAiCiN+ICJkJ2VudHJhZGEsXG4iCiN+ICJlcyBsbGVnZWl4IGwnZW50cmFkYSBlc3TgbmRhcmQuXG4iCiN+ICJcbiIKCiN+IG1zZ2lkICJVbmV4cGVjdGVkIEVuZC1vZi1maWxlIgojfiBtc2dzdHIgIkZpbmFsLWRlLWZpdHhlciBpbmVzcGVyYXQiCgojfiBtc2dpZCAiYmFkIHJlZ2V4cDogJXNcbiIKI34gbXNnc3RyICJleHByZXNzafMgcmVndWxhciBpbmNvcnJlY3RhOiAlc1xuIgoKI34gbXNnaWQgImlucHV0IHJlYWQgZXJyb3I6ICVzIgojfiBtc2dzdHIgImVycm9yIGFsIGxsZWdpciBsJ2VudHJhZGE6ICVzIgoKI34gbXNnaWQgImNvdWxkbid0IHdyaXRlIGFuIGl0ZW0gdG8gJXM6ICVzIgojfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgdW4gZWxlbWVudCBhICVzOiAlcyIK