IyBFc3RvbmlhbiB0cmFuc2xhdGlvbnMgZm9yIGxpYmljb252LgojIENvcHlyaWdodCAoQykgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgbGliaWNvbnYgcGFja2FnZS4KIyBUb29tYXMgU29vbWUgPFRvb21hcy5Tb29tZUBtaWNyb2xpbmsuZWU+LCAyMDAzLgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBsaWJpY29udiAxLjkuMVxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1nbnUtbGliaWNvbnZAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDUtMDctMDcgMTQ6NTQrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0wNS0yOSAxMDozNSswMzAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IFRvb21hcyBTb29tZSA8VG9vbWFzLlNvb21lQG1pY3JvbGluay5lZT5cbiIKIkxhbmd1YWdlLVRlYW06IEVzdG9uaWFuIDxldEBsaS5vcmc+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTE1XG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojOiBzcmMvaWNvbnYuYzo1Ngptc2dpZCAiVXNhZ2U6IGljb252IFstY10gWy1zXSBbLWYgZnJvbWNvZGVdIFstdCB0b2NvZGVdIFtmaWxlIC4uLl0iCm1zZ3N0ciAiS2FzdXRhbWluZTogaWNvbnYgWy1jXSBbLXNdIFstZiBrb29kaXN0XSBbLXQga29vZGldIFtmYWlsIC4uLl0iCgojOiBzcmMvaWNvbnYuYzo1OAptc2dpZCAib3I6ICAgIGljb252IC1sIgptc2dzdHIgInb1aTogICAgaWNvbnYgLWwiCgojOiBzcmMvaWNvbnYuYzo2OAojLCBjLWZvcm1hdAptc2dpZCAiIgoiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk9cbiIKIndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLlxuIgptc2dzdHIgIiIKIlNlZSBvbiB2YWJhIHRhcmt2YXJhOyBrb3BlZXJpbWlzZSB0aW5naW11c2VkIGxlaWF0ZSBs5Gh0ZXRla3N0aXN0LiBHYXJhbnRpaVxuIgoiUFVVRFVCOyBrYSBt/PxnaWtzIHb1aSBtaW5naWwgZWVzbeRyZ2lsIGthc3V0YW1pc2VrcywgdmFzdGF2YWx0IHNlYWR1c3RlZ2FcbiIKImx1YmF0dWQgcGlpcmlkZWxlLlxuIgoKIzogc3JjL2ljb252LmM6NzEKIywgYy1mb3JtYXQKbXNnaWQgIldyaXR0ZW4gYnkgJXMuXG4iCm1zZ3N0ciAiS2lyanV0YW51ZCAlcy5cbiIKCiM6IHNyYy9pY29udi5jOjEzMSBzcmMvaWNvbnYuYzoxNzEgc3JjL2ljb252LmM6MjMyCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiV1OiV1OiBpbmNvbXBsZXRlIGNoYXJhY3RlciBvciBzaGlmdCBzZXF1ZW5jZVxuIgptc2dzdHIgImljb252OiAlczogbWl0dGV05GllbGlrIHP8bWJvbCB29Wkgbmloa2Vq5HJqZW5kXG4iCgojOiBzcmMvaWNvbnYuYzoxNjEgc3JjL2ljb252LmM6MjIzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiV1OiV1OiBjYW5ub3QgY29udmVydFxuIgptc2dzdHIgImljb252OiAlczogZWkgc2FhIHRlaXNlbmRhZGFcbiIKCiM6IHNyYy9pY29udi5jOjE5MSBzcmMvaWNvbnYuYzoyNDEKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6JXU6JXU6ICIKbXNnc3RyICJpY29udjogJXM6ICIKCiM6IHNyYy9pY29udi5jOjI1MwojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiBJL08gZXJyb3JcbiIKbXNnc3RyICJpY29udjogJXM6IFMvViB2aWdhXG4iCgojOiBzcmMvaWNvbnYuYzozNTEKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBjb252ZXJzaW9uIGZyb20gJXMgdW5zdXBwb3J0ZWRcbiIKbXNnc3RyICJpY29udjogdGVpc2VuZHVzdCB0YWJlbGlzdCAlcyBlaSB0b2V0YXRhXG4iCgojOiBzcmMvaWNvbnYuYzozNTMKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBjb252ZXJzaW9uIHRvICVzIHVuc3VwcG9ydGVkXG4iCm1zZ3N0ciAiaWNvbnY6IHRlaXNlbmR1c3QgdGFiZWxpc3NlICVzIGVpIHRvZXRhdGFcbiIKCiM6IHNyYy9pY29udi5jOjM1NQojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6IGNvbnZlcnNpb24gZnJvbSAlcyB0byAlcyB1bnN1cHBvcnRlZFxuIgptc2dzdHIgImljb252OiB0ZWlzZW5kdXN0ICVzIC0+ICVzIGVpIHRvZXRhdGFcbiIKCiM6IHNyYy9pY29udi5jOjM1NgojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6IHRyeSAnJXMgLWwnIHRvIGdldCB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZW5jb2RpbmdzXG4iCm1zZ3N0ciAiIgoKIzogc3JjL2ljb252LmM6MzcwCm1zZ2lkICIoc3RkaW4pIgptc2dzdHIgIihzdGFuZGFyZHNpc2VuZCkiCgojOiBzcmMvaWNvbnYuYzozNzgKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczogIgptc2dzdHIgImljb252OiAlczogIgoKIzogc3JjL2ljb252LmM6MzkxCiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogSS9PIGVycm9yXG4iCm1zZ3N0ciAiaWNvbnY6IFMvViB2aWdhXG4iCgojfiBtc2dpZCAiIgojfiAiVXNhZ2U6IGljb252IFstLWJpbmFyeV0gWy1jXSBbLXNdIFstZiBmcm9tY29kZV0gWy10IHRvY29kZV0gW2ZpbGUgLi4uXSIKI34gbXNnc3RyICIiCiN+ICJLYXN1dGFtaW5lOiBpY29udiBbLS1iaW5hcnldIFstY10gWy1zXSBbLWYga29vZGlzdF0gWy10IGtvb2RpXSBbZmFpbCAuLi5dIgo=