IyB0cmFuc2xhdGlvbiBvZiBwZ19jb250cm9sZGF0YS1jcy5wbyB0byBDemVjaAojIEN6ZWNoIHRyYW5zbGF0aW9uIG9mIHBnX2NvbnRyb2xkYXRhIG1lc3NhZ2VzLgojCiMgJFBvc3RncmVTUUw6IHBnc3FsL3NyYy9iaW4vcGdfY29udHJvbGRhdGEvcG8vY3MucG8sdiAxLjQgMjAwNC8xMC8yOCAwODo1NDowNiBwZXRlcmUgRXhwICQKIyBLYXJlbCBaYWsgPHpha2tyQHpmLmpjdS5jej4sIDIwMDMsIDIwMDQuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IHBnX2NvbnRyb2xkYXRhLWNzXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNC0xMC0yNyAxNDoxNSswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDA0LTEwLTIxIDEzOjQzKzAyMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogS2FyZWwgWmFrIDx6YWtrckB6Zi5qY3UuY3o+XG4iCiJMYW5ndWFnZS1UZWFtOiBDemVjaCA8Y3NAbGkub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0yXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiJYLUdlbmVyYXRvcjogS0JhYmVsIDEuMy4xXG4iCgojOiBwZ19jb250cm9sZGF0YS5jOjI2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIlcyBkaXNwbGF5cyBjb250cm9sIGluZm9ybWF0aW9uIG9mIGEgUG9zdGdyZVNRTCBkYXRhYmFzZSBjbHVzdGVyLlxuIgoiXG4iCm1zZ3N0ciAiIgoiJXMgdWvhvmUga29udHJvbG7tIGluZm9ybWFjZSBvIFBvc3RncmVTUUwgZGF0YWLhemkuXG4iCiJcbiIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MzAKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlVzYWdlOlxuIgoiICAlcyBbT1BUSU9OXSBbREFUQURJUl1cbiIKIlxuIgoiT3B0aW9uczpcbiIKIiAgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHAsIHRoZW4gZXhpdFxuIgoiICAtLXZlcnNpb24gICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiwgdGhlbiBleGl0XG4iCm1zZ3N0ciAiIgoiUG91vml07TpcbiIKIiAgJXMgW1DYRVDNTkHIXSBbQURSRVPB2F1cbiIKIlxuIgoiUPhlcO1uYehlOlxuIgoiICAtLWhlbHAgICAgICAgICB1a+G+ZSB0dXRvIG7hcG927GR1IGEgc2tvbujtXG4iCiIgIC0tdmVyc2lvbiAgICAgIHVr4b5lIHZlcnppIHRvaG90byBwcm9ncmFtdSBhIHNrb27o7VxuIgoKIzogcGdfY29udHJvbGRhdGEuYzozOAojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiJJZiBubyBkYXRhIGRpcmVjdG9yeSAoREFUQURJUikgaXMgc3BlY2lmaWVkLCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgIgoiUEdEQVRBXG4iCiJpcyB1c2VkLlxuIgoiXG4iCm1zZ3N0ciAiIgoiXG4iCiJOZW7tLWxpIHNwZWNpZmlrb3bhbiBkYXRvdv0gYWRyZXPh+CwgamUgcG91vml0YSBwcm9t7G5u4SBwcm9zdPhlZO1cbiIKIlBHREFUQS5cbiIKIlxuIgoKIzogcGdfY29udHJvbGRhdGEuYzo0MAojLCBjLWZvcm1hdAptc2dpZCAiUmVwb3J0IGJ1Z3MgdG8gPHBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmc+LlxuIgptc2dzdHIgIkNoeWJ5IHBvc+1sZWp0ZSBuYSBhZHJlc3UgPHBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmc+LlxuIgoKIzogcGdfY29udHJvbGRhdGEuYzo1MAptc2dpZCAic3RhcnRpbmcgdXAiCm1zZ3N0ciAic3RhcnRvduFu7SIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6NTIKbXNnaWQgInNodXQgZG93biIKbXNnc3RyICJ1a29u6GVu7SIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6NTQKbXNnaWQgInNodXR0aW5nIGRvd24iCm1zZ3N0ciAidWtvbuhvduFu7SIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6NTYKbXNnaWQgImluIHJlY292ZXJ5Igptc2dzdHIgIm9ibm92dWplIHNlIgoKIzogcGdfY29udHJvbGRhdGEuYzo1OAptc2dpZCAiaW4gcHJvZHVjdGlvbiIKbXNnc3RyICJ2IHByb3ZvenUiCgojOiBwZ19jb250cm9sZGF0YS5jOjYwCm1zZ2lkICJ1bnJlY29nbml6ZWQgc3RhdHVzIGNvZGUiCm1zZ3N0ciAibmV6buFt/SBzdGF2b3b9IGvzZCIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MTAyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogbm8gZGF0YSBkaXJlY3Rvcnkgc3BlY2lmaWVkXG4iCm1zZ3N0ciAiJXM6IG5lbu0gc3BlY2lmaWtvduFuIGRhdG92/SBhZHJlc+H4XG4iCgojOiBwZ19jb250cm9sZGF0YS5jOjEwMwojLCBjLWZvcm1hdAptc2dpZCAiVHJ5IFwiJXMgLS1oZWxwXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCm1zZ3N0ciAiWmt1c3RlIFwiJXMgLS1oZWxwXCIgcHJvIHbtY2UgaW5mb3JtYWPtLlxuIgoKIzogcGdfY29udHJvbGRhdGEuYzoxMTEKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjb3VsZCBub3Qgb3BlbiBmaWxlIFwiJXNcIiBmb3IgcmVhZGluZzogJXNcbiIKbXNnc3RyICIlczogbmVsemUgb3RldvjtdCBzb3Vib3IgXCIlc1wiIHBybyDodGVu7TogJXNcbiIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MTE4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogY291bGQgbm90IHJlYWQgZmlsZSBcIiVzXCI6ICVzXG4iCm1zZ3N0ciAiJXM6IG5lbHplIOjtc3Qgc291Ym9yIFwiJXNcIjogJXNcbiIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MTMyCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJXQVJOSU5HOiBDYWxjdWxhdGVkIENSQyBjaGVja3N1bSBkb2VzIG5vdCBtYXRjaCB2YWx1ZSBzdG9yZWQgaW4gZmlsZS5cbiIKIkVpdGhlciB0aGUgZmlsZSBpcyBjb3JydXB0LCBvciBpdCBoYXMgYSBkaWZmZXJlbnQgbGF5b3V0IHRoYW4gdGhpcyBwcm9ncmFtXG4iCiJpcyBleHBlY3RpbmcuICBUaGUgcmVzdWx0cyBiZWxvdyBhcmUgdW50cnVzdHdvcnRoeS5cbiIKIlxuIgptc2dzdHIgIiIKIlVQT1pPUk7MTs06IFNwb+jtdGFu/SBDUkMga29udHJvbG7tIHNvdehldCBuZXNvdWhsYXPtIHMgaG9kbm90b3UgdWxvvmVub3VcbiIKInYgc291Ym9ydS4gQnXvIGplIHNvdWJvciBwb7lrb3plbiBuZWJvIG3hIGppbm91IPpwcmF2dSBuZb4gdGVudG8gcHJvZ3JhbVxuIgoib+hla+F24S4gIE7tvmUgdXZlZGVu6SB2/XNsZWRreSBqc291IG5lZPl27HJ5aG9kbukuXG4iCiJcbiIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MTUyCiMsIGMtZm9ybWF0Cm1zZ2lkICJwZ19jb250cm9sIHZlcnNpb24gbnVtYmVyOiAgICAgICAgICAgICV1XG4iCm1zZ3N0ciAi6O1zbG8gdmVyemUgcGdfY29udHJvbHU6ICAgICAgICAgICAgICAldVxuIgoKIzogcGdfY29udHJvbGRhdGEuYzoxNTMKIywgYy1mb3JtYXQKbXNnaWQgIkNhdGFsb2cgdmVyc2lvbiBudW1iZXI6ICAgICAgICAgICAgICAgJXVcbiIKbXNnc3RyICLI7XNsbyB2ZXJ6ZSBrYXRhbG9ndTogICAgICAgICAgICAgICAldVxuIgoKIzogcGdfY29udHJvbGRhdGEuYzoxNTQKIywgYy1mb3JtYXQKbXNnaWQgIkRhdGFiYXNlIHN5c3RlbSBpZGVudGlmaWVyOiAgICAgICAgICAgJXNcbiIKbXNnc3RyICJJZGVudGlmaWvhdG9yIGRhdGFi4XpvdulobyBzeXN06W11OiAgICVzXG4iCgojOiBwZ19jb250cm9sZGF0YS5jOjE1NQojLCBjLWZvcm1hdAptc2dpZCAiRGF0YWJhc2UgY2x1c3RlciBzdGF0ZTogICAgICAgICAgICAgICAlc1xuIgptc2dzdHIgIlN0YXR1cyBkYXRhYuF6b3bpaG8ga2xhc3RydTogICAgICAgICAgICVzXG4iCgojOiBwZ19jb250cm9sZGF0YS5jOjE1NgojLCBjLWZvcm1hdAptc2dpZCAicGdfY29udHJvbCBsYXN0IG1vZGlmaWVkOiAgICAgICAgICAgICAlc1xuIgptc2dzdHIgInBvc2xlZG7tIG1vZGlmaWthY2UgcGdfY29udHJvbHU6ICAgICAgJXNcbiIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MTU3CiMsIGMtZm9ybWF0Cm1zZ2lkICJDdXJyZW50IGxvZyBmaWxlIElEOiAgICAgICAgICAgICAgICAgICV1XG4iCm1zZ3N0ciAiSUQgc2916GFzbulobyBsb2cgc291Ym9ydTogICAgICAgICAgICAgICAgICAldVxuIgoKIzogcGdfY29udHJvbGRhdGEuYzoxNTgKIywgYy1mb3JtYXQKbXNnaWQgIk5leHQgbG9nIGZpbGUgc2VnbWVudDogICAgICAgICAgICAgICAgJXVcbiIKbXNnc3RyICJO4XNsZWR1au1j7SBzZWdtZW50IGxvZyBzb3Vib3J1OiAgICAgICAgICAgICAgICAldVxuIgoKIzogcGdfY29udHJvbGRhdGEuYzoxNTkKIywgYy1mb3JtYXQKbXNnaWQgIkxhdGVzdCBjaGVja3BvaW50IGxvY2F0aW9uOiAgICAgICAgICAgJVgvJVhcbiIKbXNnc3RyICJQb3NsZWRu7SB1be1zdOxu7SBrb250cm9sbu1obyBib2R1OiAgICAgICAgICAgJVgvJVhcbiIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MTYxCiMsIGMtZm9ybWF0Cm1zZ2lkICJQcmlvciBjaGVja3BvaW50IGxvY2F0aW9uOiAgICAgICAgICAgICVYLyVYXG4iCm1zZ3N0ciAiUPhlZGW5bOkgdW3tc3Tsbu0ga29udHJvbG7taG8gYm9kdTogICAgICAgICAgICAlWC8lWFxuIgoKIzogcGdfY29udHJvbGRhdGEuYzoxNjMKIywgYy1mb3JtYXQKbXNnaWQgIkxhdGVzdCBjaGVja3BvaW50J3MgUkVETyBsb2NhdGlvbjogICAgJVgvJVhcbiIKbXNnc3RyICJQb3NsZWRu7SB1be1zdOxu7SBSRURPIGtvbnRyb2xu7WhvIGJvZHU6ICAgICVYLyVYXG4iCgojOiBwZ19jb250cm9sZGF0YS5jOjE2NQojLCBjLWZvcm1hdAptc2dpZCAiTGF0ZXN0IGNoZWNrcG9pbnQncyBVTkRPIGxvY2F0aW9uOiAgICAlWC8lWFxuIgptc2dzdHIgIlBvc2xlZG7tIHVt7XN07G7tIFVORE8ga29udHJvbG7taG8gYm9kdTogICAgJVgvJVhcbiIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MTY3CiMsIGMtZm9ybWF0Cm1zZ2lkICJMYXRlc3QgY2hlY2twb2ludCdzIFRpbWVMaW5lSUQ6ICAgICAgICV1XG4iCm1zZ3N0ciAiVGltZUxpbmVJRCBwb3NsZWRu7WhvIGtvbnRyb2xu7WhvIGJvZHU6ICAgICAldVxuIgoKIzogcGdfY29udHJvbGRhdGEuYzoxNjgKIywgYy1mb3JtYXQKbXNnaWQgIkxhdGVzdCBjaGVja3BvaW50J3MgTmV4dFhJRDogICAgICAgICAgJXVcbiIKbXNnc3RyICJQb3NsZWRu7SB1be1zdOxu7SBOZXh0WElEIGtvbnRyb2xu7WhvIGJvZHU6ICAgICAgICAgICV1XG4iCgojOiBwZ19jb250cm9sZGF0YS5jOjE2OQojLCBjLWZvcm1hdAptc2dpZCAiTGF0ZXN0IGNoZWNrcG9pbnQncyBOZXh0T0lEOiAgICAgICAgICAldVxuIgptc2dzdHIgIlBvc2xlZG7tIHVt7XN07G7tIE5leHRPSUQga29udHJvbG7taG8gYm9kdTogICAgICAgICAgJXVcbiIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MTcwCiMsIGMtZm9ybWF0Cm1zZ2lkICJUaW1lIG9mIGxhdGVzdCBjaGVja3BvaW50OiAgICAgICAgICAgICVzXG4iCm1zZ3N0ciAiyGFzIHBvc2xlZG7taG8ga29udHJvbG7taG8gYm9kdTogICAgICAgJXNcbiIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MTcxCiMsIGMtZm9ybWF0Cm1zZ2lkICJEYXRhYmFzZSBibG9jayBzaXplOiAgICAgICAgICAgICAgICAgICV1XG4iCm1zZ3N0ciAiVmVsaWtvc3QgZGF0YWLhem926WhvIGJsb2t1OiAgICAgICAgICAgICAgICAgICV1XG4iCgojOiBwZ19jb250cm9sZGF0YS5jOjE3MgojLCBjLWZvcm1hdAptc2dpZCAiQmxvY2tzIHBlciBzZWdtZW50IG9mIGxhcmdlIHJlbGF0aW9uOiAldVxuIgptc2dzdHIgIkJsb2v5IHYgc2VnbWVudHUgdmVsa+kgcmVsYWNlOiAldVxuIgoKIzogcGdfY29udHJvbGRhdGEuYzoxNzMKIywgYy1mb3JtYXQKbXNnaWQgIkJ5dGVzIHBlciBXQUwgc2VnbWVudDogICAgICAgICAgICAgICAgJXVcbiIKbXNnc3RyICJCeXT5IHZlIFdBTCBzZWdtZW50dTogICAgICAgICAgICAgICAgICAldVxuIgoKIzogcGdfY29udHJvbGRhdGEuYzoxNzQKIywgYy1mb3JtYXQKbXNnaWQgIk1heGltdW0gbGVuZ3RoIG9mIGlkZW50aWZpZXJzOiAgICAgICAgJXVcbiIKbXNnc3RyICJNYXhpbeFsbu0gZOlsa2EgaWRlbnRpZmlr4XRvcvk6ICAgICAgICAldVxuIgoKIzogcGdfY29udHJvbGRhdGEuYzoxNzUKIywgYy1mb3JtYXQKbXNnaWQgIk1heGltdW0gbnVtYmVyIG9mIGZ1bmN0aW9uIGFyZ3VtZW50czogJXVcbiIKbXNnc3RyICJNYXhpbeFsbu0gcG/oZXQgYXJndW1lbnT5IGZ1bmtj7TogJXVcbiIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MTc2CiMsIGMtZm9ybWF0Cm1zZ2lkICJEYXRlL3RpbWUgdHlwZSBzdG9yYWdlOiAgICAgICAgICAgICAgICVzXG4iCm1zZ3N0ciAiWnD5c29iIHVsb75lbu0gdHlwdSBkYXRlL3RpbWU6ICAgICAgICAgICAgICAgJXNcbiIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MTc3Cm1zZ2lkICI2NC1iaXQgaW50ZWdlcnMiCm1zZ3N0ciAiNjQtYml0b3bhIOjtc2xhIgoKIzogcGdfY29udHJvbGRhdGEuYzoxNzcKbXNnaWQgImZsb2F0aW5nLXBvaW50IG51bWJlcnMiCm1zZ3N0ciAi6O1zbGEgcyBwbG92b3Vj7SD44WRvdm91IOjhcmtvdSIKCiM6IHBnX2NvbnRyb2xkYXRhLmM6MTc4CiMsIGMtZm9ybWF0Cm1zZ2lkICJNYXhpbXVtIGxlbmd0aCBvZiBsb2NhbGUgbmFtZTogICAgICAgICV1XG4iCm1zZ3N0ciAiTWF4aW3hbG7tIGTpbGthIGpt6W5hIGxvY2FsZTogICAgICAgICV1XG4iCgojOiBwZ19jb250cm9sZGF0YS5jOjE3OQojLCBjLWZvcm1hdAptc2dpZCAiTENfQ09MTEFURTogICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIgptc2dzdHIgIkxDX0NPTExBVEUgKHBvcm92buF24W7tIPhldOx6Y/kpOiAgICAgICAgICAgICAgICAgICAgICAgICAgICVzXG4iCgojOiBwZ19jb250cm9sZGF0YS5jOjE4MAojLCBjLWZvcm1hdAptc2dpZCAiTENfQ1RZUEU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIgptc2dzdHIgIkxDX0NUWVBFICh0eXB5IHpuYWv5KTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICVzXG4iCg==