IyBFc3RvbmlhbiB0cmFuc2xhdGlvbnMgZm9yIEdOVSBzZWQuCiMgQ29weXJpZ2h0IChDKSAyMDAxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIFRvb21hcyBTb29tZSA8VG9vbWFzLlNvb21lQG1pY3JvbGluay5lZT4sIDIwMDUuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IHNlZCA0LjEuNFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1nbnUtdXRpbHNAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDYtMjcgMTU6MDgrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwNS0wNS0xMyAxMzozNiswMzAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IFRvb21hcyBTb29tZSA8VG9vbWFzLlNvb21lQG1pY3JvbGluay5lZT5cbiIKIkxhbmd1YWdlLVRlYW06IEVzdG9uaWFuIDxldEBsaS5vcmc+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PWlzby04ODU5LTE1XG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4LWJpdFxuIgoiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCgojOiBzZWQvY29tcGlsZS5jOjE2MQptc2dpZCAibXVsdGlwbGUgYCEncyIKbXNnc3RyICJrb3JkdXYgYCEnIgoKIzogc2VkL2NvbXBpbGUuYzoxNjIKbXNnaWQgInVuZXhwZWN0ZWQgYCwnIgptc2dzdHIgIm9vdGFtYXR1IGAsJyIKCiM6IHNlZC9jb21waWxlLmM6MTYzCm1zZ2lkICJpbnZhbGlkIHVzYWdlIG9mICtOIG9yIH5OIGFzIGZpcnN0IGFkZHJlc3MiCm1zZ3N0ciAiK04gdvVpIH5OIGVpIHb1aSBrYXN1dGFkYSBlc2ltZXNlIGFhZHJlc3NpbmEiCgojOiBzZWQvY29tcGlsZS5jOjE2NAptc2dpZCAidW5tYXRjaGVkIGB7JyIKbXNnc3RyICJsaWlnbmUgYHsnIgoKIzogc2VkL2NvbXBpbGUuYzoxNjUKbXNnaWQgInVuZXhwZWN0ZWQgYH0nIgptc2dzdHIgIm9vdGFtYXR1IGB9JyIKCiM6IHNlZC9jb21waWxlLmM6MTY2Cm1zZ2lkICJleHRyYSBjaGFyYWN0ZXJzIGFmdGVyIGNvbW1hbmQiCm1zZ3N0ciAibGlzYXP8bWJvbGlkIHBlYWxlIGvkc2t1IgoKIzogc2VkL2NvbXBpbGUuYzoxNjcKbXNnaWQgImV4cGVjdGVkIFxcIGFmdGVyIGBhJywgYGMnIG9yIGBpJyIKbXNnc3RyICJwZWFsZSBgYScsIGBjJyB29WkgYGknIHBlYWIgb2xlbWEgXFwiCgojOiBzZWQvY29tcGlsZS5jOjE2OAptc2dpZCAiYH0nIGRvZXNuJ3Qgd2FudCBhbnkgYWRkcmVzc2VzIgptc2dzdHIgImB9JyBlaSB2YWphIGFhZHJlc3NlIgoKIzogc2VkL2NvbXBpbGUuYzoxNjkKbXNnaWQgIjogZG9lc24ndCB3YW50IGFueSBhZGRyZXNzZXMiCm1zZ3N0ciAiOiBlaSB2YWphIGFhZHJlc3NlIgoKIzogc2VkL2NvbXBpbGUuYzoxNzAKbXNnaWQgImNvbW1lbnRzIGRvbid0IGFjY2VwdCBhbnkgYWRkcmVzc2VzIgptc2dzdHIgImtvbW1lbnRhYXJpZCBlaSB2YWphIGFhZHJlc3NlIgoKIzogc2VkL2NvbXBpbGUuYzoxNzEKbXNnaWQgIm1pc3NpbmcgY29tbWFuZCIKbXNnc3RyICJr5HNrIHB1dWR1YiIKCiM6IHNlZC9jb21waWxlLmM6MTcyCm1zZ2lkICJjb21tYW5kIG9ubHkgdXNlcyBvbmUgYWRkcmVzcyIKbXNnc3RyICJr5HNrIGthc3V0YWIgdmFpZCD8aHQgYWFkcmVzc2kiCgojOiBzZWQvY29tcGlsZS5jOjE3Mwptc2dpZCAidW50ZXJtaW5hdGVkIGFkZHJlc3MgcmVnZXgiCm1zZ3N0ciAibPVwZXRhbWF0YSBhYWRyZXNzaSBhdmFsZGlzIgoKIzogc2VkL2NvbXBpbGUuYzoxNzQKbXNnaWQgInVudGVybWluYXRlZCBgcycgY29tbWFuZCIKbXNnc3RyICJs9XBldGFtYXRhIGBzJyBr5HNrIgoKIzogc2VkL2NvbXBpbGUuYzoxNzUKbXNnaWQgInVudGVybWluYXRlZCBgeScgY29tbWFuZCIKbXNnc3RyICJs9XBldGFtYXRhIGB5JyBr5HNrIgoKIzogc2VkL2NvbXBpbGUuYzoxNzYKbXNnaWQgInVua25vd24gb3B0aW9uIHRvIGBzJyIKbXNnc3RyICJ0dW5kbWF0dSB29XRpIGBzJyBr5HN1bGUiCgojOiBzZWQvY29tcGlsZS5jOjE3Nwptc2dpZCAibXVsdGlwbGUgYHAnIG9wdGlvbnMgdG8gYHMnIGNvbW1hbmQiCm1zZ3N0ciAia29yZHV2IGBwJyB29XRpIGBzJyBr5HN1cyIKCiM6IHNlZC9jb21waWxlLmM6MTc4Cm1zZ2lkICJtdWx0aXBsZSBgZycgb3B0aW9ucyB0byBgcycgY29tbWFuZCIKbXNnc3RyICJrb3JkdXYgYGcnIHb1dGkgYHMnIGvkc3VzIgoKIzogc2VkL2NvbXBpbGUuYzoxNzkKbXNnaWQgIm11bHRpcGxlIG51bWJlciBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgImtvcmR1dmFkIG51bWJyaXb1dG1lZCBgcycga+RzdXMiCgojOiBzZWQvY29tcGlsZS5jOjE4MAptc2dpZCAibnVtYmVyIG9wdGlvbiB0byBgcycgY29tbWFuZCBtYXkgbm90IGJlIHplcm8iCm1zZ3N0ciAibnVtYnJpdvV0aSBgcycga+RzdXMgZWkgdvVpIG9sbGEgbnVsbCIKCiM6IHNlZC9jb21waWxlLmM6MTgxCm1zZ2lkICJzdHJpbmdzIGZvciBgeScgY29tbWFuZCBhcmUgZGlmZmVyZW50IGxlbmd0aHMiCm1zZ3N0ciAic/VuZWQga+RzdXMgYHknIG9uIGVyaW5ldmEgcGlra3VzZWdhIgoKIzogc2VkL2NvbXBpbGUuYzoxODIKbXNnaWQgImRlbGltaXRlciBjaGFyYWN0ZXIgaXMgbm90IGEgc2luZ2xlLWJ5dGUgY2hhcmFjdGVyIgptc2dzdHIgImVyYWxkYXYgc/xib2wgZWkgb2xlIPxoZS1iYWlkaWxpbmUgc/xtYm9sIgoKIzogc2VkL2NvbXBpbGUuYzoxODMKbXNnaWQgImV4cGVjdGVkIG5ld2VyIHZlcnNpb24gb2Ygc2VkIgptc2dzdHIgIm9vZGF0aSBzZWRpIHV1ZW1hdCB2ZXJzaW9vbmkiCgojOiBzZWQvY29tcGlsZS5jOjE4NAptc2dpZCAiaW52YWxpZCB1c2FnZSBvZiBsaW5lIGFkZHJlc3MgMCIKbXNnc3RyICJ2aWdhbmUgcmVhIGFhZHJlc3NpIDAga2FzdXRhbWluZSIKCiM6IHNlZC9jb21waWxlLmM6MTg1CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duIGNvbW1hbmQ6IGAlYyciCm1zZ3N0ciAidHVuZG1hdHUga+RzazogYCVjJyIKCiM6IHNlZC9jb21waWxlLmM6MjA4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSAlcyBsaW5lICVsdTogJXNcbiIKbXNnc3RyICIlczogZmFpbCAlcyByaWRhICVsdTogJXNcbiIKCiM6IHNlZC9jb21waWxlLmM6MjExCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogLWUgZXhwcmVzc2lvbiAjJWx1LCBjaGFyICVsdTogJXNcbiIKbXNnc3RyICIlczogLWUgYXZhbGRpcyAjJWx1LCBz/G1ib2wgJWx1OiAlc1xuIgoKIzogc2VkL2NvbXBpbGUuYzoxNjY1CiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW4ndCBmaW5kIGxhYmVsIGZvciBqdW1wIHRvIGAlcyciCm1zZ3N0ciAiZWkgbGVpYSBt5HJnZW5kaXQsIGV0IGj8cGF0YSBrb2hhbGUgYCVzJyIKCiM6IHNlZC9leGVjdXRlLmM6NzA5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogY2FuJ3QgcmVhZCAlczogJXNcbiIKbXNnc3RyICIlczogZWkgc2FhIGx1Z2VkYSAlczogJXNcbiIKCiM6IHNlZC9leGVjdXRlLmM6NzQwCiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBlZGl0ICVzOiBpcyBhIHRlcm1pbmFsIgptc2dzdHIgIiVzIGVpIHNhYSB0b2ltZXRhZGE6IHNlZSBvbiB0ZXJtaW5hbCIKCiM6IHNlZC9leGVjdXRlLmM6NzQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBlZGl0ICVzOiBub3QgYSByZWd1bGFyIGZpbGUiCm1zZ3N0ciAiJXMgZWkgc2FhIHRvaW1ldGFkYTogc2VlIGVpIG9sZSB0YXZhbGluZSBmYWlsIgoKIzogc2VkL2V4ZWN1dGUuYzo3NTcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB3YXJuaW5nOiBmYWlsZWQgdG8gc2V0IGRlZmF1bHQgZmlsZSBjcmVhdGlvbiBjb250ZXh0IHRvICVzOiAlcyIKbXNnc3RyICIiCgojOiBzZWQvZXhlY3V0ZS5jOjc2NAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHdhcm5pbmc6IGZhaWxlZCB0byBnZXQgc2VjdXJpdHkgY29udGV4dCBvZiAlczogJXMiCm1zZ3N0ciAiIgoKIzogc2VkL2V4ZWN1dGUuYzo3ODMgc2VkL3V0aWxzLmM6MjI3CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlICVzOiAlcyIKbXNnc3RyICJhanV0aXN0IGZhaWxpICVzIGVpIHNhYSBhdmFkYTogJXMiCgojOiBzZWQvZXhlY3V0ZS5jOjEzMTcgc2VkL2V4ZWN1dGUuYzoxNDk3Cm1zZ2lkICJlcnJvciBpbiBzdWJwcm9jZXNzIgptc2dzdHIgInZpZ2EgYWxhbXByb3RzZXNzaXMiCgojOiBzZWQvZXhlY3V0ZS5jOjEzMTkKbXNnaWQgIm9wdGlvbiBgZScgbm90IHN1cHBvcnRlZCIKbXNnc3RyICJ29XRpdCBgZScgZWkgdG9ldGF0YSIKCiM6IHNlZC9leGVjdXRlLmM6MTQ5OQptc2dpZCAiYGUnIGNvbW1hbmQgbm90IHN1cHBvcnRlZCIKbXNnc3RyICJr5HNrdSBgZScgZWkgdG9ldGF0YSIKCiM6IHNlZC9leGVjdXRlLmM6MTg0Mwptc2dpZCAibm8gaW5wdXQgZmlsZXMiCm1zZ3N0ciAiIgoKIzogc2VkL3JlZ2V4cC5jOjQxCm1zZ2lkICJubyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiZWVsbWlzdCByZWd1bGFhcmF2YWxkaXN0IHBvbGUiCgojOiBzZWQvcmVnZXhwLmM6NDIKbXNnaWQgImNhbm5vdCBzcGVjaWZ5IG1vZGlmaWVycyBvbiBlbXB0eSByZWdleHAiCm1zZ3N0ciAibXV1ZGF0dXNpIHT8aGphbGUgcmVndWxhYXJhdmFsZGlzZWxlIGVpIHNhYSBt5ORyYXRhIgoKIzogc2VkL3JlZ2V4cC5jOjEzMQojLCBjLWZvcm1hdAptc2dpZCAiaW52YWxpZCByZWZlcmVuY2UgXFwlZCBvbiBgcycgY29tbWFuZCdzIFJIUyIKbXNnc3RyICJ2aWdhbmUgdmlpZGUgXFwlZCBr5HN1IGBzJyBwYXJlbWFzIHBvb2xlcyIKCiM6IHNlZC9zZWQuYzo5NwojLCBjLWZvcm1hdAptc2dpZCAiIgoiR05VIHNlZCBob21lIHBhZ2U6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvc2VkLz4uXG4iCiJHZW5lcmFsIGhlbHAgdXNpbmcgR05VIHNvZnR3YXJlOiA8aHR0cDovL3d3dy5nbnUub3JnL2dldGhlbHAvPi5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTA0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiRS1tYWlsIGJ1ZyByZXBvcnRzIHRvOiA8JXM+LlxuIgoiQmUgc3VyZSB0byBpbmNsdWRlIHRoZSB3b3JkIGBgJXMnJyBzb21ld2hlcmUgaW4gdGhlIGBgU3ViamVjdDonJyBmaWVsZC5cbiIKbXNnc3RyICIiCiJQb3N0aXRhZ2UgdGVhdGVkIHZpZ2FkZXN0OiAlcyAuXG4iCiJMaXNhZ2Uga2luZGxhc3RpIHP1bmEgYGAlcycnIGBgU3ViamVjdDonJyByZWFsZS5cbiIKCiM6IHNlZC9zZWQuYzoxMTcKbXNnaWQgIiIKIiAgLVIsIC0tcmVnZXhwLXBlcmxcbiIKIiAgICAgICAgICAgICAgICAgdXNlIFBlcmwgNSdzIHJlZ3VsYXIgZXhwcmVzc2lvbnMgc3ludGF4IGluIHRoZSBzY3JpcHQuXG4iCm1zZ3N0ciAiIgoiICAtUiwgLS1yZWdleHAtcGVybFxuIgoiICAgICAgICAgICAgICAgICBrYXN1dGEgc2tyaXB0aXMgUGVybCA1IHJlZ3VsYWFyYXZhbGRpc3RlIHP8bnRha3NpdC5cbiIKCiM6IHNlZC9zZWQuYzoxMjIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlVzYWdlOiAlcyBbT1BUSU9OXS4uLiB7c2NyaXB0LW9ubHktaWYtbm8tb3RoZXItc2NyaXB0fSBbaW5wdXQtZmlsZV0uLi5cbiIKIlxuIgptc2dzdHIgIiIKIkthc3V0YW1pbmU6ICVzIFt29XRpXS4uLiB7YWludWx0LXNrcmlwdC1rdWktdGVpc2ktc2tyaXB0ZS1wb2xlfSBbc2lzZW5kLSIKImZhaWxdLi4uXG4iCiJcbiIKCiM6IHNlZC9zZWQuYzoxMjYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLW4sIC0tcXVpZXQsIC0tc2lsZW50XG4iCiIgICAgICAgICAgICAgICAgIHN1cHByZXNzIGF1dG9tYXRpYyBwcmludGluZyBvZiBwYXR0ZXJuIHNwYWNlXG4iCm1zZ3N0ciAiIgoiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKIiAgICAgICAgICAgICAgICAga2VlbGEgbXVzdHJpcnV1bWkgYXV0b21hYXRuZSB25GxqYXN0YW1pbmVcbiIKCiM6IHNlZC9zZWQuYzoxMjgKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWUgc2NyaXB0LCAtLWV4cHJlc3Npb249c2NyaXB0XG4iCiIgICAgICAgICAgICAgICAgIGFkZCB0aGUgc2NyaXB0IHRvIHRoZSBjb21tYW5kcyB0byBiZSBleGVjdXRlZFxuIgptc2dzdHIgIiIKIiAgLWUgc2tyaXB0LCAtLWV4cHJlc3Npb249c2tyaXB0XG4iCiIgICAgICAgICAgICAgICAgIGxpc2EgdORpZGV0YXZhdGUga+Rza2x1c3RlIHNrcmlwdFxuIgoKIzogc2VkL3NlZC5jOjEzMAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtZiBzY3JpcHQtZmlsZSwgLS1maWxlPXNjcmlwdC1maWxlXG4iCiIgICAgICAgICAgICAgICAgIGFkZCB0aGUgY29udGVudHMgb2Ygc2NyaXB0LWZpbGUgdG8gdGhlIGNvbW1hbmRzIHRvIGJlICIKImV4ZWN1dGVkXG4iCm1zZ3N0ciAiIgoiICAtZiBza3JpcHRpLWZhaWwsIC0tZmlsZT1za3JpcHRpLWZhaWxcbiIKIiAgICAgICAgICAgICAgICAgbGlzYSBza3JpcHRpLWZhaWxpIHNpc3UgdORpZGV0YXZhdGUga+Rza2x1c3RlIGh1bGthXG4iCgojOiBzZWQvc2VkLmM6MTMzCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC0tZm9sbG93LXN5bWxpbmtzXG4iCiIgICAgICAgICAgICAgICAgIGZvbGxvdyBzeW1saW5rcyB3aGVuIHByb2Nlc3NpbmcgaW4gcGxhY2VcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTM2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1pW1NVRkZJWF0sIC0taW4tcGxhY2VbPVNVRkZJWF1cbiIKIiAgICAgICAgICAgICAgICAgZWRpdCBmaWxlcyBpbiBwbGFjZSAobWFrZXMgYmFja3VwIGlmIGV4dGVuc2lvbiBzdXBwbGllZClcbiIKbXNnc3RyICIiCiIgIC1pW1NVRklLU10sIC0taW4tcGxhY2VbPVNVRklLU11cbiIKIiAgICAgICAgICAgICAgICAgdG9pbWV0YSBmYWlsZSAoa3VpIGthc3V0YXRpIHNpZmlrc2l0LCBsb29iIGthIHZhcnVrb29waWEpXG4iCgojOiBzZWQvc2VkLmM6MTM5CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1iLCAtLWJpbmFyeVxuIgoiICAgICAgICAgICAgICAgICBvcGVuIGZpbGVzIGluIGJpbmFyeSBtb2RlIChDUitMRnMgYXJlIG5vdCBwcm9jZXNzZWQgIgoic3BlY2lhbGx5KVxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxNDIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWwgTiwgLS1saW5lLWxlbmd0aD1OXG4iCiIgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhlIGRlc2lyZWQgbGluZS13cmFwIGxlbmd0aCBmb3IgdGhlIGBsJyBjb21tYW5kXG4iCm1zZ3N0ciAiIgoiICAtbCBOLCAtLWxpbmUtbGVuZ3RoPU5cbiIKIiAgICAgICAgICAgICAgICAgbeTkcmEgYGwnIGvkc3VsZSBzb292aXRhdGF2IHJlYSBwaWtrdXNcbiIKCiM6IHNlZC9zZWQuYzoxNDQKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLS1wb3NpeFxuIgoiICAgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBHTlUgZXh0ZW5zaW9ucy5cbiIKbXNnc3RyICIiCiIgIC0tcG9zaXhcbiIKIiAgICAgICAgICAgICAgICAgYmxva2Vlcmkga/VpayBHTlUgbGFpZW5kdXNlZC5cbiIKCiM6IHNlZC9zZWQuYzoxNDYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLXIsIC0tcmVnZXhwLWV4dGVuZGVkXG4iCiIgICAgICAgICAgICAgICAgIHVzZSBleHRlbmRlZCByZWd1bGFyIGV4cHJlc3Npb25zIGluIHRoZSBzY3JpcHQuXG4iCm1zZ3N0ciAiIgoiICAtciwgLS1yZWdleHAtZXh0ZW5kZWRcbiIKIiAgICAgICAgICAgICAgICAga2FzdXRhIHNrcmlwdGlzIGxhaWVuZGF0dWQgcmVndWxhYXJhdmFsZGlzdGUgc/xudGFrc2l0LlxuIgoKIzogc2VkL3NlZC5jOjE1MQojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtcywgLS1zZXBhcmF0ZVxuIgoiICAgICAgICAgICAgICAgICBjb25zaWRlciBmaWxlcyBhcyBzZXBhcmF0ZSByYXRoZXIgdGhhbiBhcyBhIHNpbmdsZSAiCiJjb250aW51b3VzXG4iCiIgICAgICAgICAgICAgICAgIGxvbmcgc3RyZWFtLlxuIgptc2dzdHIgIiIKIiAgLXMsIC0tc2VwYXJhdGVcbiIKIiAgICAgICAgICAgICAgICAga+RzaXRsZSBmYWlsZSD8a3NoYWF2YWwsIG1pdHRlIPxoZSBq5HRrdXZhIHZvb25hLlxuIgoKIzogc2VkL3NlZC5jOjE1NAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtdSwgLS11bmJ1ZmZlcmVkXG4iCiIgICAgICAgICAgICAgICAgIGxvYWQgbWluaW1hbCBhbW91bnRzIG9mIGRhdGEgZnJvbSB0aGUgaW5wdXQgZmlsZXMgYW5kICIKImZsdXNoXG4iCiIgICAgICAgICAgICAgICAgIHRoZSBvdXRwdXQgYnVmZmVycyBtb3JlIG9mdGVuXG4iCm1zZ3N0ciAiIgoiICAtdSwgLS11bmJ1ZmZlcmVkXG4iCiIgICAgICAgICAgICAgICAgIGxvZSBzaXNlbmRmYWlsaXN0IG1pbmltYWFsbmUga29ndXMgYW5kbWVpZCBqYSB0/GhqZW5kYVxuIgoiICAgICAgICAgICAgICAgICB25GxqdW5kcHVodnJlaWQgc2FnZWRhbWluaVxuIgoKIzogc2VkL3NlZC5jOjE1NwojLCBjLWZvcm1hdAptc2dpZCAiICAgICAgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgptc2dzdHIgIiAgICAgIC0taGVscCAgICAgduRsamFzdCBzZWUgYWJpaW5mbyBqYSBs9XBldGEgdPb2XG4iCgojOiBzZWQvc2VkLmM6MTU4CiMsIGMtZm9ybWF0Cm1zZ2lkICIgICAgICAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCm1zZ3N0ciAiICAgICAgLS12ZXJzaW9uICB25GxqYXN0YSB2ZXJzaW9vbmlpbmZvIGphIGz1cGV0YSB09vZcbiIKCiM6IHNlZC9zZWQuYzoxNTkKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiSWYgbm8gLWUsIC0tZXhwcmVzc2lvbiwgLWYsIG9yIC0tZmlsZSBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gdGhlIGZpcnN0XG4iCiJub24tb3B0aW9uIGFyZ3VtZW50IGlzIHRha2VuIGFzIHRoZSBzZWQgc2NyaXB0IHRvIGludGVycHJldC4gIEFsbFxuIgoicmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgbmFtZXMgb2YgaW5wdXQgZmlsZXM7IGlmIG5vIGlucHV0IGZpbGVzIGFyZVxuIgoic3BlY2lmaWVkLCB0aGVuIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLlxuIgoiXG4iCm1zZ3N0ciAiIgoiXG4iCiJLdWkgdvV0bWVpZCAtZSwgLS1leHByZXNzaW9uLCAtZiB29WkgLS1maWxlIGVpIGthc3V0YXRhLCBsb2V0YWtzZVxuIgoiZXNpbWVuZSBhcmd1bWVudCwgbWlzIHBvbGUgdvV0aSwgc2VkIHNrcmlwdGlrcy4gS/VpayBq5HJnbmV2YWQgYXJndW1lbmRpZCAiCiJvblxuIgoic2lzZW5kZmFpbGlkZSBuaW1lZDsga3VpIHNpc2VuZGZhaWxlIGVpIGFudHVkLCBsb2V0YWtzZSBzdGFuZGFyZHNpc2VuZGl0LlxuIgoiXG4iCgojOiBzZWQvc2VkLmM6MzE1CiMsIGMtZm9ybWF0Cm1zZ2lkICJzdXBlci1zZWQgdmVyc2lvbiAlc1xuIgptc2dzdHIgInN1cGVyLXNlZCB2ZXJzaW9vbiAlc1xuIgoKIzogc2VkL3NlZC5jOjMxNgojLCBjLWZvcm1hdAptc2dpZCAiIgoiYmFzZWQgb24gR05VIHNlZCB2ZXJzaW9uICVzXG4iCiJcbiIKbXNnc3RyICIiCiJw9WhpbmViIEdOVSBzZWQgdmVyc2lvb25pbCAlc1xuIgoiXG4iCgojOiBzZWQvc2VkLmM6MzE4CiMsIGMtZm9ybWF0Cm1zZ2lkICJHTlUgc2VkIHZlcnNpb24gJXNcbiIKbXNnc3RyICJHTlUgc2VkIHZlcnNpb29uICVzXG4iCgojOiBzZWQvc2VkLmM6MzIwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiQ29weXJpZ2h0IChDKSAlZCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PXG4iCiJ3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcbiIKInRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKbXNnc3RyICIiCiIlc1xuIgoiU2VlIG9uIHZhYmEgdGFya3ZhcmE7IGtvcGVlcmltaXN0aW5naW11c2VkIGxlaWF0ZSBs5Gh0ZXRla3N0aWRlc3QuIEdhcmFudGlpXG4iCiJQVVVEVUI7IGthIG38/Gdpa3MgdvVpIG1pbmdpbCBlZXNt5HJnaWwga2FzdXRhbWlzZWtzLCB2YXN0YXZhbHQgc2VhZHVzdGVnYVxuIgoibHViYXR1ZCBwaWlyaWRlbGUuXG4iCgojOiBzZWQvdXRpbHMuYzo5MyBzZWQvdXRpbHMuYzo0MzgKIywgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCByZW1vdmUgJXM6ICVzIgptc2dzdHIgIiVzIGVpIHNhYSBlZW1hbGRhZGE6ICVzIgoKIzogc2VkL3V0aWxzLmM6MTYzCiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBvcGVuIGZpbGUgJXM6ICVzIgptc2dzdHIgImZhaWxpICVzIGVpIHNhYSBhdmFkYTogJXMiCgojOiBzZWQvdXRpbHMuYzoxODYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBhdHRhY2ggdG8gJXM6ICVzIgptc2dzdHIgIiVkIGVsZW1lbmRpIGZhaWxpICVzIGtpcmp1dGFtaW5lIGViYfVubmVzdHVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjI0NQojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3Qgd3JpdGUgJWQgaXRlbSB0byAlczogJXMiCm1zZ2lkX3BsdXJhbCAiY291bGRuJ3Qgd3JpdGUgJWQgaXRlbXMgdG8gJXM6ICVzIgptc2dzdHJbMF0gIiVkIGVsZW1lbmRpIGZhaWxpICVzIGtpcmp1dGFtaW5lIGViYfVubmVzdHVzOiAlcyIKbXNnc3RyWzFdICIlZCBlbGVtZW5kaSBmYWlsaSAlcyBraXJqdXRhbWluZSBlYmH1bm5lc3R1czogJXMiCgojOiBzZWQvdXRpbHMuYzoyNjAgc2VkL3V0aWxzLmM6Mjc2CiMsIGMtZm9ybWF0Cm1zZ2lkICJyZWFkIGVycm9yIG9uICVzOiAlcyIKbXNnc3RyICJsdWdlbWlzdmlnYSAlczogJXMiCgojOiBzZWQvdXRpbHMuYzozNzgKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBmb2xsb3cgc3ltbGluayAlczogJXMiCm1zZ3N0ciAiZmFpbGkgJXMgZWkgc2FhIGF2YWRhOiAlcyIKCiM6IHNlZC91dGlscy5jOjQxMgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCBzdGF0ICVzOiAlcyIKbXNnc3RyICIlcyBlaSBzYWEg/G1iZXIgbmltZXRhZGE6ICVzIgoKIzogc2VkL3V0aWxzLmM6NDQzCiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3QgcmVuYW1lICVzOiAlcyIKbXNnc3RyICIlcyBlaSBzYWEg/G1iZXIgbmltZXRhZGE6ICVzIgoKIzogbGliL3JlZ2NvbXAuYzoxMzQKbXNnaWQgIlN1Y2Nlc3MiCm1zZ3N0ciAiRWR1a2FzIgoKIzogbGliL3JlZ2NvbXAuYzoxMzcKbXNnaWQgIk5vIG1hdGNoIgptc2dzdHIgIkVpIGxlaWEiCgojOiBsaWIvcmVnY29tcC5jOjE0MAptc2dpZCAiSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiVmlnYW5lIHJlZ3VsYWFyYXZhbGRpcyIKCiM6IGxpYi9yZWdjb21wLmM6MTQzCm1zZ2lkICJJbnZhbGlkIGNvbGxhdGlvbiBjaGFyYWN0ZXIiCm1zZ3N0ciAiVmlnYW5lIHNvcnRpbWlzZSBz/G1ib2wiCgojOiBsaWIvcmVnY29tcC5jOjE0Ngptc2dpZCAiSW52YWxpZCBjaGFyYWN0ZXIgY2xhc3MgbmFtZSIKbXNnc3RyICJWaWdhbmUgc/xtYm9saXRlIGtsYXNzaSBuaW1pIgoKIzogbGliL3JlZ2NvbXAuYzoxNDkKbXNnaWQgIlRyYWlsaW5nIGJhY2tzbGFzaCIKbXNnc3RyICJM9XBldGF2IGxhbmdrcmlpcHMiCgojOiBsaWIvcmVnY29tcC5jOjE1Mgptc2dpZCAiSW52YWxpZCBiYWNrIHJlZmVyZW5jZSIKbXNnc3RyICJWaWdhbmUgdGFnYXNpIHZpaWRlIgoKIzogbGliL3JlZ2NvbXAuYzoxNTUKbXNnaWQgIlVubWF0Y2hlZCBbIG9yIFteIgptc2dzdHIgIlB1dWR1YiBbIHb1aSBbXiIKCiM6IGxpYi9yZWdjb21wLmM6MTU4Cm1zZ2lkICJVbm1hdGNoZWQgKCBvciBcXCgiCm1zZ3N0ciAiUHV1ZHViICggdvVpIFxcKCIKCiM6IGxpYi9yZWdjb21wLmM6MTYxCm1zZ2lkICJVbm1hdGNoZWQgXFx7Igptc2dzdHIgIlB1dWR1YiBcXHsiCgojOiBsaWIvcmVnY29tcC5jOjE2NAptc2dpZCAiSW52YWxpZCBjb250ZW50IG9mIFxce1xcfSIKbXNnc3RyICJWaWdhbmUgXFx7XFx9IHNpc3UiCgojOiBsaWIvcmVnY29tcC5jOjE2Nwptc2dpZCAiSW52YWxpZCByYW5nZSBlbmQiCm1zZ3N0ciAiVmlnYW5lIHZhaGVtaWt1IGz1cHAiCgojOiBsaWIvcmVnY29tcC5jOjE3MAptc2dpZCAiTWVtb3J5IGV4aGF1c3RlZCIKbXNnc3RyICJN5Gx1IG9uIG90c2FzIgoKIzogbGliL3JlZ2NvbXAuYzoxNzMKbXNnaWQgIkludmFsaWQgcHJlY2VkaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICJWaWdhbmUgZWVsbmV2IHJlZ3VsYWFyYXZhbGRpcyIKCiM6IGxpYi9yZWdjb21wLmM6MTc2Cm1zZ2lkICJQcmVtYXR1cmUgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICJPb3RhbWF0dSByZWd1bGFhcmF2YWxkaXNlIGz1cHAiCgojOiBsaWIvcmVnY29tcC5jOjE3OQptc2dpZCAiUmVndWxhciBleHByZXNzaW9uIHRvbyBiaWciCm1zZ3N0ciAiUmVndWxhYXJhdmFsZGlzIG9uIGxpaWdhIHN1dXIiCgojOiBsaWIvcmVnY29tcC5jOjE4Mgptc2dpZCAiVW5tYXRjaGVkICkgb3IgXFwpIgptc2dzdHIgIlB1dWR1YiApIHb1aSBcXCkiCgojOiBsaWIvcmVnY29tcC5jOjcwMwptc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIkVlbG1pc3QgcmVndWxhYXJhdmFsZGlzdCBwb2xlIgo=