IyBFc3RvbmlhbiB0cmFuc2xhdGlvbnMgZm9yIGxpYmljb252LgojIENvcHlyaWdodCAoQykgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgbGliaWNvbnYgcGFja2FnZS4KIyBUb29tYXMgU29vbWUgPFRvb21hcy5Tb29tZUBtaWNyb2xpbmsuZWU+LCAyMDEwLgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBsaWJpY29udiAxLjEyXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWdudS1saWJpY29udkBnbnUub3JnXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNi0xMi0wNCAxNzoxNiswMTAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDEwLTA4LTA0IDE1OjM3KzAzMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogVG9vbWFzIFNvb21lIDxUb29tYXMuU29vbWVAbWljcm9saW5rLmVlPlxuIgoiTGFuZ3VhZ2UtVGVhbTogRXN0b25pYW4gPGxpbnV4LWVlQGxpc3RzLmVlbmV0LmVlPlxuIgoiTGFuZ3VhZ2U6IGV0XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTE1XG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKCiMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgbGluZSBvZiB0aGUgc2hvcnQgdXNhZ2UgbWVzc2FnZS4KIzogc3JjL2ljb252LmM6MTA0Cm1zZ2lkICJVc2FnZTogaWNvbnYgWy1jXSBbLXNdIFstZiBmcm9tY29kZV0gWy10IHRvY29kZV0gW2ZpbGUgLi4uXSIKbXNnc3RyICJLYXN1dGFtaW5lOiBpY29udiBbLWNdIFstc10gWy1mIGtvb2Rpc3RdIFstdCBrb29kaV0gW2ZhaWwgLi4uXSIKCiMuIFRSQU5TTEFUT1JTOiBUaGUgc2Vjb25kIGxpbmUgb2YgdGhlIHNob3J0IHVzYWdlIG1lc3NhZ2UuCiMuIEFsaWduIGl0IGNvcnJlY3RseSBhZ2FpbnN0IHRoZSBmaXJzdCBsaW5lLgojOiBzcmMvaWNvbnYuYzoxMDgKbXNnaWQgIm9yOiAgICBpY29udiAtbCIKbXNnc3RyICJ29Wk6ICAgIGljb252IC1sIgoKIzogc3JjL2ljb252LmM6MTEwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiVHJ5ICclcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgptc2dzdHIgIkxpc2FpbmZvIHNhYW1pc2VrcyBrYXN1dGFnZSBgJXMgLS1oZWxwJy5cbiIKCiMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgbGluZSBvZiB0aGUgbG9uZyB1c2FnZSBtZXNzYWdlLgojLiBUaGUgJXMgcGxhY2Vob2xkZXIgZXhwYW5kcyB0byB0aGUgcHJvZ3JhbSBuYW1lLgojOiBzcmMvaWNvbnYuYzoxMTUKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIlVzYWdlOiAlcyBbT1BUSU9OLi4uXSBbLWYgRU5DT0RJTkddIFstdCBFTkNPRElOR10gW0lOUFVURklMRS4uLl1cbiIKbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbVtVUSS4uLl0gWy1mIEtPREVFUklOR10gWy10IEtPREVFUklOR10gW1NJU0VOREZBSUwuLi5dXG4iCgojLiBUUkFOU0xBVE9SUzogVGhlIHNlY29uZCBsaW5lIG9mIHRoZSBsb25nIHVzYWdlIG1lc3NhZ2UuCiMuIEFsaWduIGl0IGNvcnJlY3RseSBhZ2FpbnN0IHRoZSBmaXJzdCBsaW5lLgojLiBUaGUgJXMgcGxhY2Vob2xkZXIgZXhwYW5kcyB0byB0aGUgcHJvZ3JhbSBuYW1lLgojOiBzcmMvaWNvbnYuYzoxMjIKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIm9yOiAgICAlcyAtbFxuIgptc2dzdHIgInb1aTogICAgJXMgLWxcbiIKCiMuIFRSQU5TTEFUT1JTOiBEZXNjcmlwdGlvbiBvZiB0aGUgaWNvbnYgcHJvZ3JhbS4KIzogc3JjL2ljb252LmM6MTI4CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICJDb252ZXJ0cyB0ZXh0IGZyb20gb25lIGVuY29kaW5nIHRvIGFub3RoZXIgZW5jb2RpbmcuXG4iCm1zZ3N0ciAiVGVpc2VuZGFiIHRla3N0aSD8aGVzdCBrb29kaXRhYmVsaXN0IHRlaXNlLlxuIgoKIzogc3JjL2ljb252LmM6MTMyCiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICJPcHRpb25zIGNvbnRyb2xsaW5nIHRoZSBpbnB1dCBhbmQgb3V0cHV0IGZvcm1hdDpcbiIKbXNnc3RyICJTaXNlbmRpIGphIHbkbGp1bmRpIHZvcm1pbmd1dCBrb250cm9sbGl2YWQgdvV0bWVkOlxuIgoKIzogc3JjL2ljb252LmM6MTM1CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIiCiIgIC1mIEVOQ09ESU5HLCAtLWZyb20tY29kZT1FTkNPRElOR1xuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGVuY29kaW5nIG9mIHRoZSBpbnB1dFxuIgptc2dzdHIgIiIKIiAgLWYgS09ERUVSSU5HLCAtLWZyb20tY29kZT1LT0RFRVJJTkdcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpc2VuZGkga29vZGl0YWJlbFxuIgoKIzogc3JjL2ljb252LmM6MTM5CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIiCiIgIC10IEVOQ09ESU5HLCAtLXRvLWNvZGU9RU5DT0RJTkdcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBlbmNvZGluZyBvZiB0aGUgb3V0cHV0XG4iCm1zZ3N0ciAiIgoiICAtdCBLT0RFRVJJTkcsIC0tdG8tY29kZT1LT0RFRVJJTkdcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHbkbGp1bmRpIGtvb2RpdGFiZWxcbiIKCiM6IHNyYy9pY29udi5jOjE0NAojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiT3B0aW9ucyBjb250cm9sbGluZyBjb252ZXJzaW9uIHByb2JsZW1zOlxuIgptc2dzdHIgIlRlaXNlbmRhbWlzZWwgdGVra2l2YXRlIHByb2JsZWVtaWRlIGtvbnRyb2xsaSB29XRtZWQ6XG4iCgojOiBzcmMvaWNvbnYuYzoxNDcKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIiAgLWMgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NhcmQgdW5jb252ZXJ0aWJsZSBjaGFyYWN0ZXJzXG4iCm1zZ3N0ciAiICAtYyAgICAgICAgICAgICAgICAgICAgICAgICAgZWVtYWxkYSBtaXR0ZXRlaXNlbmRhdGF2YWQgc/xtYm9saWRcbiIKCiM6IHNyYy9pY29udi5jOjE1MAojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiIgoiICAtLXVuaWNvZGUtc3Vic3Q9Rk9STUFUU1RSSU5HXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzdGl0dXRpb24gZm9yIHVuY29udmVydGlibGUgVW5pY29kZSBjaGFyYWN0ZXJzXG4iCm1zZ3N0ciAiIgoiICAtLXVuaWNvZGUtc3Vic3Q9Vk9STUlOR1xuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWl0dGV0ZWlzZW5kYXZhdGUgVW5pa29vZGkgc/xtYm9saXRlIGFzZW5kdXNcbiIKCiM6IHNyYy9pY29udi5jOjE1NAojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiICAtLWJ5dGUtc3Vic3Q9Rk9STUFUU1RSSU5HICAgc3Vic3RpdHV0aW9uIGZvciB1bmNvbnZlcnRpYmxlIGJ5dGVzXG4iCm1zZ3N0ciAiICAtLWJ5dGUtc3Vic3Q9Vk9STUlORyAgICAgICAgbWl0dGV0ZWlzZW5kYXRhdmF0ZSBiYWl0aWRlIGFzZW5kdXNcbiIKCiM6IHNyYy9pY29udi5jOjE1NwojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiIgoiICAtLXdpZGVjaGFyLXN1YnN0PUZPUk1BVFNUUklOR1xuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uIGZvciB1bmNvbnZlcnRpYmxlIHdpZGUgY2hhcmFjdGVyc1xuIgptc2dzdHIgIiIKIiAgLS13aWRlY2hhci1zdWJzdD1WT1JNSU5HXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaXR0ZXRlaXNlbmRhdGF2YXRlIG1pdG1lYmFpZGkgc/xtYm9saXRlIGFzZW5kdXNcbiIKCiM6IHNyYy9pY29udi5jOjE2MgojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiT3B0aW9ucyBjb250cm9sbGluZyBlcnJvciBvdXRwdXQ6XG4iCm1zZ3N0ciAiVmlnYWRlIHbkbGp1bmRpIGtvbnRyb2xsaW1pc2UgdvV0bWVkOlxuIgoKIzogc3JjL2ljb252LmM6MTY1CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIgIC1zLCAtLXNpbGVudCAgICAgICAgICAgICAgICBzdXBwcmVzcyBlcnJvciBtZXNzYWdlcyBhYm91dCBjb252ZXJzaW9uIHByb2JsZW1zXG4iCm1zZ3N0ciAiICAtcywgLS1zaWxlbnQgICAgICAgICAgICAgICAga2VlbGEgcHJvYmxlZW1pZGVzdCB0ZWF0YW1pbmVcbiIKCiM6IHNyYy9pY29udi5jOjE2OQojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiSW5mb3JtYXRpdmUgb3V0cHV0OlxuIgptc2dzdHIgIkluZm925GxqdW5kOlxuIgoKIzogc3JjL2ljb252LmM6MTcyCiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIgIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICBsaXN0IHRoZSBzdXBwb3J0ZWQgZW5jb2RpbmdzXG4iCm1zZ3N0ciAiICAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgduRsamFzdGEgdG9ldGF0dWQga29vZGl0YWJlbGl0ZSBuaW1la2lyaVxuIgoKIzogc3JjL2ljb252LmM6MTc1CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIgIC0taGVscCAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgptc2dzdHIgIiAgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgIHbkbGphc3RhIHNlZSBhYmlpbmZvIGphIGz1cGV0YSB09vZcbiIKCiM6IHNyYy9pY29udi5jOjE3OAojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiICAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKbXNnc3RyICIgIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICB25GxqYXN0YSB2ZXJzaW9vbmkgaW5mbyBqYSBs9XBldGEgdPb2XG4iCgojLiBUUkFOU0xBVE9SUzogVGhlIHBsYWNlaG9sZGVyIGluZGljYXRlcyB0aGUgYnVnLXJlcG9ydGluZyBhZGRyZXNzCiMuIGZvciB0aGlzIHBhY2thZ2UuICBQbGVhc2UgYWRkIF9hbm90aGVyIGxpbmVfIHNheWluZwojLiAiUmVwb3J0IHRyYW5zbGF0aW9uIGJ1Z3MgdG8gPC4uLj5cbiIgd2l0aCB0aGUgYWRkcmVzcyBmb3IgdHJhbnNsYXRpb24KIy4gYnVncyAodHlwaWNhbGx5IHlvdXIgdHJhbnNsYXRpb24gdGVhbSdzIHdlYiBvciBlbWFpbCBhZGRyZXNzKS4KIzogc3JjL2ljb252LmM6MTg1Cm1zZ2lkICJSZXBvcnQgYnVncyB0byA8YnVnLWdudS1saWJpY29udkBnbnUub3JnPi5cbiIKbXNnc3RyICJWaWdhZGVzdCB0ZWF0YWdlIHBhbHVuIGFhZHJlc3NpbCA8YnVnLWdudS1saWJpY29udkBnbnUub3JnPi5cbiIKCiM6IHNyYy9pY29udi5jOjE5NgojLCBmdXp6eSwgbm8td3JhcAptc2dpZCAiIgoiTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD5cbiIKIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgoiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKbXNnc3RyICIiCiJMaXRzZW50cyBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvb24gMiB29WkgdXVlbSA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWw+XG4iCiJTZWUgb24gdmFiYSB0YXJrdmFyYTogdGVpbCBvbiBsdWJhdHVkIHNlZGEgbXV1dGEgamEgbGV2aXRhZGEuXG4iCiJHQVJBTlRJSSBQVURVQiwgdmFzdGF2YWx0IHNlYWR1c2VnYSBsdWJhdHVkIHBpaXJpZGVsZS5cbiIKCiMuIFRSQU5TTEFUT1JTOiBUaGUgJXMgcGxhY2Vob2xkZXIgZXhwYW5kcyB0byBhbiBhdXRob3IncyBuYW1lLgojOiBzcmMvaWNvbnYuYzoyMDIKIywgYy1mb3JtYXQKbXNnaWQgIldyaXR0ZW4gYnkgJXMuXG4iCm1zZ3N0ciAiS2lyanV0YW51ZCAlcy5cbiIKCiMuIFRSQU5TTEFUT1JTOiBBbiBlcnJvciBtZXNzYWdlLgojLiBUaGUgJXMgcGxhY2Vob2xkZXIgZXhwYW5kcyB0byBhIGNvbW1hbmQtbGluZSBvcHRpb24uCiM6IHNyYy9pY29udi5jOjI5NgojLCBjLWZvcm1hdAptc2dpZCAiIgoiJXMgYXJndW1lbnQ6IEEgZm9ybWF0IGRpcmVjdGl2ZSB3aXRoIGEgdmFyaWFibGUgd2lkdGggaXMgbm90IGFsbG93ZWQgaGVyZS4iCm1zZ3N0ciAiJXMgYXJndW1lbnQ6IE11dXR1dmEgcGlra3VzZWdhIHZvcm1pbmcgZWkgb2xlIHNpaW4gbHViYXR1ZC4iCgojLiBUUkFOU0xBVE9SUzogQW4gZXJyb3IgbWVzc2FnZS4KIy4gVGhlICVzIHBsYWNlaG9sZGVyIGV4cGFuZHMgdG8gYSBjb21tYW5kLWxpbmUgb3B0aW9uLgojOiBzcmMvaWNvbnYuYzozMTEKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiVzIGFyZ3VtZW50OiBBIGZvcm1hdCBkaXJlY3RpdmUgd2l0aCBhIHZhcmlhYmxlIHByZWNpc2lvbiBpcyBub3QgYWxsb3dlZCAiCiJoZXJlLiIKbXNnc3RyICIlcyBhcmd1bWVudDogTXV1dHV2YSB05HBzdXNlZ2Egdm9ybWluZyBlaSBvbGUgc2lpbiBsdWJhdHVkLiIKCiMuIFRSQU5TTEFUT1JTOiBBbiBlcnJvciBtZXNzYWdlLgojLiBUaGUgJXMgcGxhY2Vob2xkZXIgZXhwYW5kcyB0byBhIGNvbW1hbmQtbGluZSBvcHRpb24uCiM6IHNyYy9pY29udi5jOjMyNwojLCBjLWZvcm1hdAptc2dpZCAiJXMgYXJndW1lbnQ6IEEgZm9ybWF0IGRpcmVjdGl2ZSB3aXRoIGEgc2l6ZSBpcyBub3QgYWxsb3dlZCBoZXJlLiIKbXNnc3RyICIlcyBhcmd1bWVudDogU3V1cnVzZSBt5ORyYW5ndWdhIHZvcm1pbmcgZWkgb2xlIHNpaW4gbHViYXR1ZC4iCgojLiBUUkFOU0xBVE9SUzogQW4gZXJyb3IgbWVzc2FnZS4KIy4gVGhlICVzIHBsYWNlaG9sZGVyIGV4cGFuZHMgdG8gYSBjb21tYW5kLWxpbmUgb3B0aW9uLgojOiBzcmMvaWNvbnYuYzozNjkKIywgYy1mb3JtYXQKbXNnaWQgIiVzIGFyZ3VtZW50OiBUaGUgc3RyaW5nIGVuZHMgaW4gdGhlIG1pZGRsZSBvZiBhIGRpcmVjdGl2ZS4iCm1zZ3N0ciAiJXMgYXJndW1lbnQ6IFP1bmUgbPVwcGViIGtlc2V0IGRpcmVrdGlpdmkuIgoKIy4gVFJBTlNMQVRPUlM6IEFuIGVycm9yIG1lc3NhZ2UuCiMuIFRoZSAlcyBwbGFjZWhvbGRlciBleHBhbmRzIHRvIGEgY29tbWFuZC1saW5lIG9wdGlvbi4KIy4gVGhlICVjIHBsYWNlaG9sZGVyIGV4cGFuZHMgdG8gYW4gdW5rbm93biBmb3JtYXQgZGlyZWN0aXZlLgojOiBzcmMvaWNvbnYuYzozNzYKIywgYy1mb3JtYXQKbXNnaWQgIiVzIGFyZ3VtZW50OiBUaGUgY2hhcmFjdGVyICclYycgaXMgbm90IGEgdmFsaWQgY29udmVyc2lvbiBzcGVjaWZpZXIuIgptc2dzdHIgIiVzIGFyZ3VtZW50OiBT/G1ib2wgJyVjJyBlaSBvbGUgbHViYXR1ZCB0ZWlzZW5kdXNlcy4iCgojLiBUUkFOU0xBVE9SUzogQW4gZXJyb3IgbWVzc2FnZS4KIy4gVGhlICVzIHBsYWNlaG9sZGVyIGV4cGFuZHMgdG8gYSBjb21tYW5kLWxpbmUgb3B0aW9uLgojOiBzcmMvaWNvbnYuYzozODIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiVzIGFyZ3VtZW50OiBUaGUgY2hhcmFjdGVyIHRoYXQgdGVybWluYXRlcyB0aGUgZm9ybWF0IGRpcmVjdGl2ZSBpcyBub3QgYSAiCiJ2YWxpZCBjb252ZXJzaW9uIHNwZWNpZmllci4iCm1zZ3N0ciAiIgoiJXMgYXJndW1lbnQ6IFZvcm1pbmdpIGRpcmVrdGlpdmkgbPVwZXRhdiBz/G1ib2wgZWkgb2xlIHRlaXNlbmR1c2VzIGx1YmF0dWQuIgoKIy4gVFJBTlNMQVRPUlM6IEFuIGVycm9yIG1lc3NhZ2UuCiMuIFRoZSAlcyBwbGFjZWhvbGRlciBleHBhbmRzIHRvIGEgY29tbWFuZC1saW5lIG9wdGlvbi4KIy4gVGhlICV1IHBsYWNlaG9sZGVyIGV4cGFuZHMgdG8gdGhlIG51bWJlciBvZiBhcmd1bWVudHMgY29uc3VtZWQgYnkgdGhlIGZvcm1hdCBzdHJpbmcuCiM6IHNyYy9pY29udi5jOjM5OAojLCBjLWZvcm1hdAptc2dpZCAiIgoiJXMgYXJndW1lbnQ6IFRoZSBmb3JtYXQgc3RyaW5nIGNvbnN1bWVzIG1vcmUgdGhhbiBvbmUgYXJndW1lbnQ6ICV1IGFyZ3VtZW50LiIKbXNnaWRfcGx1cmFsICIiCiIlcyBhcmd1bWVudDogVGhlIGZvcm1hdCBzdHJpbmcgY29uc3VtZXMgbW9yZSB0aGFuIG9uZSBhcmd1bWVudDogJXUgYXJndW1lbnRzLiIKbXNnc3RyWzBdICIiCiIlcyBhcmd1bWVudDogVm9ybWluZ3Ugc/VuZSBu9XVhYiBlbmFtIGt1aSD8aHRlIGFyZ3VtZW50aTogJXUgYXJndW1lbnQuIgptc2dzdHJbMV0gIiIKIiVzIGFyZ3VtZW50OiBWb3JtaW5ndSBz9W5lIG71dWFiIGVuYW0ga3VpIPxodGUgYXJndW1lbnRpOiAldSBhcmd1bWVudGkuIgoKIy4gVFJBTlNMQVRPUlM6IEFuIGVycm9yIG1lc3NhZ2UuCiMuIFRoZSAlcyBwbGFjZWhvbGRlciBleHBhbmRzIHRvIGEgcGllY2Ugb2YgdGV4dCwgc3BlY2lmaWVkIHRocm91Z2ggLS1ieXRlLXN1YnN0LgojOiBzcmMvaWNvbnYuYzo0NTYKIywgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCBjb252ZXJ0IGJ5dGUgc3Vic3RpdHV0aW9uIHRvIFVuaWNvZGU6ICVzIgptc2dzdHIgImJhaWRpYXNlbmR1c3QgZWkgc2FhIFVuaWtvb2RpIHRlaXNlbmRhZGE6ICVzIgoKIy4gVFJBTlNMQVRPUlM6IEFuIGVycm9yIG1lc3NhZ2UuCiMuIFRoZSAlcyBwbGFjZWhvbGRlciBleHBhbmRzIHRvIGEgcGllY2Ugb2YgdGV4dCwgc3BlY2lmaWVkIHRocm91Z2ggLS11bmljb2RlLXN1YnN0LgojOiBzcmMvaWNvbnYuYzo0OTYKIywgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCBjb252ZXJ0IHVuaWNvZGUgc3Vic3RpdHV0aW9uIHRvIHRhcmdldCBlbmNvZGluZzogJXMiCm1zZ3N0ciAidW5pa29vZGkgYXNlbmR1c3QgZWkgc2FhIHNpaHR0YWJlbGlzc2UgdGVpc2VuZGFkYTogJXMiCgojLiBUUkFOU0xBVE9SUzogQW4gZXJyb3IgbWVzc2FnZS4KIy4gVGhlICVzIHBsYWNlaG9sZGVyIGV4cGFuZHMgdG8gYSBwaWVjZSBvZiB0ZXh0LCBzcGVjaWZpZWQgdGhyb3VnaCAtLWJ5dGUtc3Vic3QuCiM6IHNyYy9pY29udi5jOjUzNwojLCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IGNvbnZlcnQgYnl0ZSBzdWJzdGl0dXRpb24gdG8gd2lkZSBzdHJpbmc6ICVzIgptc2dzdHIgImJhaWRpYXNlbmR1c3QgZWkgc2FhIG1pdG1lYmFpZGlsaXN0ZSBz/G1ib2xpdGVnYSBz9W5la3MgdGVpc2VuZGFkYTogJXMiCgojLiBUUkFOU0xBVE9SUzogQW4gZXJyb3IgbWVzc2FnZS4KIy4gVGhlICVzIHBsYWNlaG9sZGVyIGV4cGFuZHMgdG8gYSBwaWVjZSBvZiB0ZXh0LCBzcGVjaWZpZWQgdGhyb3VnaCAtLXdpZGVjaGFyLXN1YnN0LgojOiBzcmMvaWNvbnYuYzo1NzgKIywgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCBjb252ZXJ0IHdpZGVjaGFyIHN1YnN0aXR1dGlvbiB0byB0YXJnZXQgZW5jb2Rpbmc6ICVzIgptc2dzdHIgIndpZGVjaGFyIHP8bWJvbGVpZCBlaSBzYWEgc2lodHRhYmVsaXNzZSB0ZWlzZW5kYWRhOiAlcyIKCiMuIFRSQU5TTEFUT1JTOiBBbiBlcnJvciBtZXNzYWdlLgojLiBUaGUgJXMgcGxhY2Vob2xkZXIgZXhwYW5kcyB0byBhIHBpZWNlIG9mIHRleHQsIHNwZWNpZmllZCB0aHJvdWdoIC0tYnl0ZS1zdWJzdC4KIzogc3JjL2ljb252LmM6NjE5CiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3QgY29udmVydCBieXRlIHN1YnN0aXR1dGlvbiB0byB0YXJnZXQgZW5jb2Rpbmc6ICVzIgptc2dzdHIgImJhaXRpZGUgYXNlbmR1c3QgZWkgc2FhIHNpaHR0YWJlbGlzc2UgdGVpc2VuZGFkYTogJXMiCgojLiBUUkFOU0xBVE9SUzogQW4gZXJyb3IgbWVzc2FnZS4KIy4gVGhlIHBsYWNlaG9sZGVycyBleHBhbmQgdG8gdGhlIGlucHV0IGZpbGUgbmFtZSwgYSBsaW5lIG51bWJlciwgYW5kIGEgY29sdW1uIG51bWJlci4KIzogc3JjL2ljb252LmM6NjM4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczoldToldTogY2Fubm90IGNvbnZlcnQiCm1zZ3N0ciAiJXM6JXU6JXU6IGVpIHNhYSB0ZWlzZW5kYWRhIgoKIy4gVFJBTlNMQVRPUlM6IEFuIGVycm9yIG1lc3NhZ2UuCiMuIFRoZSBwbGFjZWhvbGRlcnMgZXhwYW5kIHRvIHRoZSBpbnB1dCBmaWxlIG5hbWUsIGEgbGluZSBudW1iZXIsIGFuZCBhIGNvbHVtbiBudW1iZXIuCiMuIEEgInNoaWZ0IHNlcXVlbmNlIiBpcyBhIHNlcXVlbmNlIG9mIGJ5dGVzIHRoYXQgY2hhbmdlcyB0aGUgc3RhdGUgb2YgdGhlIGNvbnZlcnRlcjsKIy4gdGhpcyBjb25jZXB0IGV4aXN0cyBvbmx5IGZvciAic3RhdGVmdWwiIGVuY29kaW5ncyBsaWtlIElTTy0yMDIyLUpQLgojOiBzcmMvaWNvbnYuYzo2NTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiV1OiV1OiBpbmNvbXBsZXRlIGNoYXJhY3RlciBvciBzaGlmdCBzZXF1ZW5jZSIKbXNnc3RyICIlczoldToldTogbWl0dGV05GllbGlrIHP8bWJvbCB29Wkgbmloa2Vq5HJqZW5kIgoKIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCBwYXJ0IG9mIGFuIGVycm9yIG1lc3NhZ2UuCiMuIEl0IGlzIGZvbGxvd2VkIGJ5IGEgY29sb24gYW5kIGEgZGV0YWlsIG1lc3NhZ2UuCiMuIFRoZSBwbGFjZWhvbGRlcnMgZXhwYW5kIHRvIHRoZSBpbnB1dCBmaWxlIG5hbWUsIGEgbGluZSBudW1iZXIsIGFuZCBhIGNvbHVtbiBudW1iZXIuCiM6IHNyYy9pY29udi5jOjY2NQojLCBjLWZvcm1hdAptc2dpZCAiJXM6JXU6JXUiCm1zZ3N0ciAiJXM6JXU6JXUiCgojLiBUUkFOU0xBVE9SUzogQW4gZXJyb3IgbWVzc2FnZS4KIy4gVGhlIHBsYWNlaG9sZGVyIGV4cGFuZHMgdG8gdGhlIGlucHV0IGZpbGUgbmFtZS4KIzogc3JjL2ljb252LmM6ODI2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogSS9PIGVycm9yIgptc2dzdHIgIiVzOiBTL1YgdmlnYSIKCiMuIFRSQU5TTEFUT1JTOiBBbiBlcnJvciBtZXNzYWdlLgojLiBUaGUgcGxhY2Vob2xkZXIgZXhwYW5kcyB0byB0aGUgZW5jb2RpbmcgbmFtZSwgc3BlY2lmaWVkIHRocm91Z2ggLS1mcm9tLWNvZGUuCiM6IHNyYy9pY29udi5jOjEwMTUKIywgYy1mb3JtYXQKbXNnaWQgImNvbnZlcnNpb24gZnJvbSAlcyB1bnN1cHBvcnRlZCIKbXNnc3RyICJ0ZWlzZW5kdXN0IHRhYmVsaXN0ICVzIGVpIHRvZXRhdGEiCgojLiBUUkFOU0xBVE9SUzogQW4gZXJyb3IgbWVzc2FnZS4KIy4gVGhlIHBsYWNlaG9sZGVyIGV4cGFuZHMgdG8gdGhlIGVuY29kaW5nIG5hbWUsIHNwZWNpZmllZCB0aHJvdWdoIC0tdG8tY29kZS4KIzogc3JjL2ljb252LmM6MTAyMQojLCBjLWZvcm1hdAptc2dpZCAiY29udmVyc2lvbiB0byAlcyB1bnN1cHBvcnRlZCIKbXNnc3RyICJ0ZWlzZW5kdXN0IHRhYmVsaXNzZSAlcyBlaSB0b2V0YXRhIgoKIy4gVFJBTlNMQVRPUlM6IEFuIGVycm9yIG1lc3NhZ2UuCiMuIFRoZSBwbGFjZWhvbGRlcnMgZXhwYW5kIHRvIHRoZSBlbmNvZGluZyBuYW1lcywgc3BlY2lmaWVkIHRocm91Z2ggLS1mcm9tLWNvZGUgYW5kIC0tdG8tY29kZSwgcmVzcGVjdGl2ZWx5LgojOiBzcmMvaWNvbnYuYzoxMDI3CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb252ZXJzaW9uIGZyb20gJXMgdG8gJXMgdW5zdXBwb3J0ZWQiCm1zZ3N0ciAidGVpc2VuZHVzdCB0YWJlbGlzdCAlcyB0YWJlbGlzc2UgJXMgZWkgdG9ldGF0YSIKCiMuIFRSQU5TTEFUT1JTOiBBZGRpdGlvbmFsIGFkdmljZSBhZnRlciBhbiBlcnJvciBtZXNzYWdlLgojLiBUaGUgJXMgcGxhY2Vob2xkZXIgZXhwYW5kcyB0byB0aGUgcHJvZ3JhbSBuYW1lLgojOiBzcmMvaWNvbnYuYzoxMDMyCiMsIGMtZm9ybWF0Cm1zZ2lkICJ0cnkgJyVzIC1sJyB0byBnZXQgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGVuY29kaW5ncyIKbXNnc3RyICJUb2V0YXR1ZCBrb29kaXRhYmVsaXRlIG5pZWtpcmphIHNhYXRlIGvkc3VnYSAnJXMgLWwnIgoKIy4gVFJBTlNMQVRPUlM6IEEgZmlsZW5hbWUgc3Vic3RpdHV0ZSBkZW5vdGluZyBzdGFuZGFyZCBpbnB1dC4KIzogc3JjL2ljb252LmM6MTA4OQptc2dpZCAiKHN0ZGluKSIKbXNnc3RyICIoc3RhbmRhcmRzaXNlbmQpIgoKIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCBwYXJ0IG9mIGFuIGVycm9yIG1lc3NhZ2UuCiMuIEl0IGlzIGZvbGxvd2VkIGJ5IGEgY29sb24gYW5kIGEgZGV0YWlsIG1lc3NhZ2UuCiMuIFRoZSAlcyBwbGFjZWhvbGRlciBleHBhbmRzIHRvIHRoZSBpbnB1dCBmaWxlIG5hbWUuCiM6IHNyYy9pY29udi5jOjExMDEKIywgYy1mb3JtYXQKbXNnaWQgIiVzIgptc2dzdHIgIiVzIgoKIy4gVFJBTlNMQVRPUlM6IEFuIGVycm9yIG1lc3NhZ2UuCiM6IHNyYy9pY29udi5jOjExMTUKIywgYy1mb3JtYXQKbXNnaWQgIkkvTyBlcnJvciIKbXNnc3RyICJTL1YgdmlnYSIK