IyBSdXNzaWFuIHRyYW5zbGF0aW9ucyBmb3IgUgojIPLV09PLycog0MXSxdfPxCDEzNEgUgojCiMgQ29weXJpZ2h0IChDKSAyMDA3IFRoZSBSIEZvdW5kYXRpb24KIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgUiBwYWNrYWdlLgojIEFsZXhleSBTaGlwdW5vdiA8ZGFjdHlsb3JoaXphQGdtYWlsLmNvbT4gMjAwOQojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBSIDIuMTAuMFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMjAtMDMtMjQgMTA6NTQtMDcwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAxOC0wNC0wNyAwMToxNy0wNTAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEFsZXhleSBTaGlwdW5vdiA8ZGFjdHlsb3JoaXphQGdtYWlsLmNvbT5cbiIKIkxhbmd1YWdlLVRlYW06IFJ1c3NpYW5cbiIKIkxhbmd1YWdlOiBydVxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1LT0k4LVJcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MzsgcGx1cmFsPShuJTEwPT0xICYmIG4lMTAwIT0xMSA/IDAgOiBuJTEwPj0yICYmIG4iCiIlMTA8PTQgJiYgKG4lMTAwPDEwIHx8IG4lMTAwPj0yMCkgPyAxIDogMik7XG4iCiJYLUdlbmVyYXRvcjogUG9lZGl0IDEuOC43LjFcbiIKCiM6IHRjbHRrLmM6NjkKbXNnaWQgInBhcnNlIGVycm9yIGluIFIgZXhwcmVzc2lvbiIKbXNnc3RyICLP28nCy8Eg0sHaws/SwSDX2dLB1sXOydEgUiIKCiM6IHRjbHRrLmM6MTc4IHRjbHRrLmM6MjU1Cm1zZ2lkICJ0Y2wgZXJyb3IuXG4iCm1zZ3N0ciAiz9vJwsvBIHRjbC5cbiIKCiM6IHRjbHRrLmM6MjA3IHRjbHRrLmM6MjgxIHRjbHRrLmM6Mjk4IHRjbHRrLmM6MzE4IHRjbHRrLmM6MzM4IHRjbHRrLmM6NDEzCiM6IHRjbHRrLmM6NDc4IHRjbHRrLmM6NTMyIHRjbHRrLmM6NzcxCm1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50Igptc2dzdHIgIs7F0NLB18nM2M7ZyiDB0sfVzcXO1CIKCiM6IHRjbHRrLmM6Mjg4Cm1zZ2lkICJubyBzdWNoIHZhcmlhYmxlIgptc2dzdHIgIiIKCiM6IHRjbHRrLmM6MzIwIHRjbHRrLmM6MzQwIHRjbHRrLmM6NDE1IHRjbHRrLmM6NDgwIHRjbHRrLmM6NTM0Cm1zZ2lkICJpbnZhbGlkIHRjbE9iaiAtLSBwZXJoYXBzIHNhdmVkIGZyb20gYW5vdGhlciBzZXNzaW9uPyIKbXNnc3RyICLOxdDSwdfJzNjO2cogdGNsT2JqIC0tIM3P1sXUIMLZ1NgsINPPyNLBzsXOztnKINcgxNLVx8/KINPF09PJyT8iCgojOiB0Y2x0ay5jOjY0NAptc2dpZCAiYXJndW1lbnQgbGlzdCBpcyB0b28gbG9uZyBpbiB0Y2x0ayBpbnRlcm5hbCBmdW5jdGlvbiAnY2FsbGJhY2tfY2xvc3VyZSciCm1zZ3N0ciAiIgoi09DJ08/LIMHSx9XNxc7Uz9cg08zJ28vPzSDEzMnOxc4g188g187V1NLFzs7FyiDG1c7Lw8nJIHRjbHRrICIKIidjYWxsYmFja19jbG9zdXJlJyIKCiM6IHRjbHRrLmM6Njc3Cm1zZ2lkICJhcmd1bWVudCBpcyBub3Qgb2YgY29ycmVjdCB0eXBlIgptc2dzdHIgIsHSx9XNxc7U2SDOxdDSwdfJzNjOz8fPINTJ0MEiCgojOiB0Y2x0ay5jOjcyOQptc2dpZCAibm8gRElTUExBWSB2YXJpYWJsZSBzbyBUayBpcyBub3QgYXZhaWxhYmxlIgptc2dzdHIgIs7F1CDQxdLFzcXOzs/KIERJU1BMQVksINDP3NTPzdUgVGsgzsXEz9PU1dDFziIKCiM6IHRjbHRrX3VuaXguYzo5NAptc2dpZCAiVGNsIGlzIG5vdCBsb2FkZWQiCm1zZ3N0ciAiVGNsIM7FINrBx9LV1sXOIgoKIzogdGNsdGtfdW5peC5jOjk4Cm1zZ2lkICJUY2wgaXMgbm90IGxhc3QgbG9hZGVkIGhhbmRsZXIiCm1zZ3N0ciAiVGNsIM7FINHXzNHF1NPRINDP08zFxM7FyiDawcfS1dbFzs7PyiDJztPU0tXLw8nFyiIKCiN+IG1zZ2lkICJUY2wgYWxyZWFkeSBsb2FkZWQiCiN+IG1zZ3N0ciAiVGNsINXWxSDawcfS1dbFziIK