IyBNZXNzYWdlcyBmcmFu52FpcyBwb3VyIG9wY29kZXMuCiMgQ29weXJpZ2h0IKkgMTk5NiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBNaWNoZWwgUm9iaXRhaWxsZSA8cm9iaXRhaWxASVJPLlVNb250cmVhbC5DQT4sIHRyYWR1Y3RldXIgZGVwdWlzL3NpbmNlIDE5OTYuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IG9wY29kZXMgMi4xMi45MVxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDItMDctMjMgMTU6NTUtMDQwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0wNy0yNCAwODowMC0wNTAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IE1pY2hlbCBSb2JpdGFpbGxlIDxyb2JpdGFpbEBJUk8uVU1vbnRyZWFsLkNBPlxuIgoiTGFuZ3VhZ2UtVGVhbTogRnJlbmNoIDx0cmFkdWNAdHJhZHVjLm9yZz5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIzogYWxwaGEtb3BjLmM6MzM1Cm1zZ2lkICJicmFuY2ggb3BlcmFuZCB1bmFsaWduZWQiCm1zZ3N0ciAib3DpcmFuZGUgZGUgYnJhbmNoZW1lbnQgbm9uIGFsaWdu6WUiCgojOiBhbHBoYS1vcGMuYzozNTggYWxwaGEtb3BjLmM6MzgwCm1zZ2lkICJqdW1wIGhpbnQgdW5hbGlnbmVkIgptc2dzdHIgInNhdXQgaW5kaWPpIG5vbiBhbGlnbukiCgojOiBhcmMtZGlzLmM6NTIKbXNnaWQgIklsbGVnYWwgbGltbSByZWZlcmVuY2UgaW4gbGFzdCBpbnN0cnVjdGlvbiFcbiIKbXNnc3RyICJS6WbpcmVuY2UgbGltaXRlIGlsbOlnYWxlIGRhbnMgbGEgZGVybmnocmUgaW5zdHJ1Y3Rpb24hXG4iCgojOiBhcm0tZGlzLmM6NTA3Cm1zZ2lkICI8aWxsZWdhbCBwcmVjaXNpb24+Igptc2dzdHIgIjxwculjaXNpb24gaWxs6WdhbGU+IgoKIzogYXJtLWRpcy5jOjEwMTAKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXNlZCByZWdpc3RlciBuYW1lIHNldDogJXNcbiIKbXNnc3RyICJOb20gZGUgamV1IGRlIHJlZ2lzdHJlcyBpbmNvbm51OiAlc1xuIgoKIzogYXJtLWRpcy5jOjEwMTcKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXNlZCBkaXNhc3NlbWJsZXIgb3B0aW9uOiAlc1xuIgptc2dzdHIgIk9wdGlvbiBkdSBk6XNhc3NlbWJsZXVyIG5vbiByZWNvbm51ZTogJXNcbiIKCiM6IGFybS1kaXMuYzoxMTkxCm1zZ2lkICIiCiJcbiIKIlRoZSBmb2xsb3dpbmcgQVJNIHNwZWNpZmljIGRpc2Fzc2VtYmxlciBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIHVzZSB3aXRoXG4iCiJ0aGUgLU0gc3dpdGNoOlxuIgptc2dzdHIgIiIKIlxuIgoiTGVzIG9wdGlvbnMgc3DpY2lmaXF1ZXMgQVJNIHN1aXZhbnRlcyBzb250IHN1cHBvcnTpZXMgYXZlYyBsJ3V0aWxpc2F0aW9uIGRlXG4iCiJsJ29wdGlvbiAtTTpcbiIKCiM6IGF2ci1kaXMuYzoxMTggYXZyLWRpcy5jOjEyOAptc2dpZCAidW5kZWZpbmVkIgptc2dzdHIgIm5vbiBk6WZpbmkiCgojOiBhdnItZGlzLmM6MTgwCm1zZ2lkICJJbnRlcm5hbCBkaXNhc3NlbWJsZXIgZXJyb3IiCm1zZ3N0ciAiRXJyZXVyIGludGVybmUgZHUgZOlzYXNzZW1ibGV1ciIKCiM6IGF2ci1kaXMuYzoyMjgKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gY29uc3RyYWludCBgJWMnIgptc2dzdHIgImNvbnRyYWludGUgaW5jb25udWUgqyAlYyC7IgoKIzogY2dlbi1hc20uYzozNDYgZnIzMC1pYmxkLmM6MTk1IGZydi1pYmxkLmM6MTk1IG0zMnItaWJsZC5jOjE5NQojOiBvcGVucmlzYy1pYmxkLmM6MTk1IHhzdG9ybXkxNi1pYmxkLmM6MTk1CiMsIGMtZm9ybWF0Cm1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAoJWxkIG5vdCBiZXR3ZWVuICVsZCBhbmQgJWxkKSIKbXNnc3RyICJvcOlyYW5kZSBob3JzIGdhbW1lICglbGQgbidlc3QgcGFzIGVudHJlICVsZCBldCAlbGQpIgoKIzogY2dlbi1hc20uYzozNjcKIywgYy1mb3JtYXQKbXNnaWQgIm9wZXJhbmQgb3V0IG9mIHJhbmdlICglbHUgbm90IGJldHdlZW4gJWx1IGFuZCAlbHUpIgptc2dzdHIgIm9w6XJhbmRlIGhvcnMgZ2FtbWUgKCVsdSBuJ2VzdCBwYXMgZW50cmUgJWx1IGV0ICVsdSkiCgojOiBkMzB2LWRpcy5jOjMxMgojLCBjLWZvcm1hdAptc2dpZCAiPHVua25vd24gcmVnaXN0ZXIgJWQ+Igptc2dzdHIgIjxyZWdpc3RyZSBpbmNvbm51ICVkPiIKCiMuIENhbid0IGhhcHBlbi4KIzogZGlzLWJ1Zi5jOjU3CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbmtub3duIGVycm9yICVkXG4iCm1zZ3N0ciAiRXJyZXVyIGluY29ubnVlICVkXG4iCgojOiBkaXMtYnVmLmM6NjIKIywgYy1mb3JtYXQKbXNnaWQgIkFkZHJlc3MgMHgleCBpcyBvdXQgb2YgYm91bmRzLlxuIgptc2dzdHIgIkFkcmVzc2UgMHgleCBlc3QgaG9ycyBnYW1tZS5cbiIKCiM6IGZyMzAtYXNtLmM6MzIzIGZydi1hc20uYzo1OTUgbTMyci1hc20uYzozMjUgb3BlbnJpc2MtYXNtLmM6MjQ0CiM6IHhzdG9ybXkxNi1hc20uYzoyMzEKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBwYXJzaW5nLlxuIgptc2dzdHIgIkNoYW1wIG5vbiByZWNvbm51ICVkIGxvcnMgZGUgbCdhbmFseXNlLlxuIgoKIzogZnIzMC1hc20uYzozNzMgZnJ2LWFzbS5jOjY0NSBtMzJyLWFzbS5jOjM3NSBvcGVucmlzYy1hc20uYzoyOTQKIzogeHN0b3JteTE2LWFzbS5jOjI4MQptc2dpZCAibWlzc2luZyBtbmVtb25pYyBpbiBzeW50YXggc3RyaW5nIgptc2dzdHIgIm1u6W1vbmlxdWUgbWFucXVhbnRlIGRhbnMgbGEgc3ludGF4ZSBkZSBsYSBjaGHubmUiCgojLiBXZSBjb3VsZG4ndCBwYXJzZSBpdC4KIzogZnIzMC1hc20uYzo1MDkgZnIzMC1hc20uYzo1MTMgZnIzMC1hc20uYzo2MDAgZnIzMC1hc20uYzo3MDIgZnJ2LWFzbS5jOjc4MQojOiBmcnYtYXNtLmM6Nzg1IGZydi1hc20uYzo4NzIgZnJ2LWFzbS5jOjk3NCBtMzJyLWFzbS5jOjUxMSBtMzJyLWFzbS5jOjUxNQojOiBtMzJyLWFzbS5jOjYwMiBtMzJyLWFzbS5jOjcwNCBvcGVucmlzYy1hc20uYzo0MzAgb3BlbnJpc2MtYXNtLmM6NDM0CiM6IG9wZW5yaXNjLWFzbS5jOjUyMSBvcGVucmlzYy1hc20uYzo2MjMgeHN0b3JteTE2LWFzbS5jOjQxNwojOiB4c3Rvcm15MTYtYXNtLmM6NDIxIHhzdG9ybXkxNi1hc20uYzo1MDggeHN0b3JteTE2LWFzbS5jOjYxMAptc2dpZCAidW5yZWNvZ25pemVkIGluc3RydWN0aW9uIgptc2dzdHIgImluc3RydWN0aW9uIG5vbiByZWNvbm51ZSIKCiM6IGZyMzAtYXNtLmM6NTU2IGZydi1hc20uYzo4MjggbTMyci1hc20uYzo1NTggb3BlbnJpc2MtYXNtLmM6NDc3CiM6IHhzdG9ybXkxNi1hc20uYzo0NjQKIywgYy1mb3JtYXQKbXNnaWQgInN5bnRheCBlcnJvciAoZXhwZWN0ZWQgY2hhciBgJWMnLCBmb3VuZCBgJWMnKSIKbXNnc3RyICJlcnJldXIgZGUgc3ludGF4ZSAoY2FyYWN06HJlIKsgJWMguyBhdHRlbmR1LCAgqyAlYyC7IG9idGVudSkiCgojOiBmcjMwLWFzbS5jOjU2NiBmcnYtYXNtLmM6ODM4IG0zMnItYXNtLmM6NTY4IG9wZW5yaXNjLWFzbS5jOjQ4NwojOiB4c3Rvcm15MTYtYXNtLmM6NDc0CiMsIGMtZm9ybWF0Cm1zZ2lkICJzeW50YXggZXJyb3IgKGV4cGVjdGVkIGNoYXIgYCVjJywgZm91bmQgZW5kIG9mIGluc3RydWN0aW9uKSIKbXNnc3RyICJlcnJldXIgZGUgc3ludGF4ZSAoY2FyYWN06HJlIKsgJWMguyBhdHRlbmR1LCBmaW4gZGUgbCdpbnN0cnVjdGlvbiBvYnRlbnVlKSIKCiM6IGZyMzAtYXNtLmM6NTk0IGZydi1hc20uYzo4NjYgbTMyci1hc20uYzo1OTYgb3BlbnJpc2MtYXNtLmM6NTE1CiM6IHhzdG9ybXkxNi1hc20uYzo1MDIKbXNnaWQgImp1bmsgYXQgZW5kIG9mIGxpbmUiCm1zZ3N0ciAicmVidXQg4CBsYSBmaW4gZGUgbGEgbGlnbmUiCgojOiBmcjMwLWFzbS5jOjcwMSBmcnYtYXNtLmM6OTczIG0zMnItYXNtLmM6NzAzIG9wZW5yaXNjLWFzbS5jOjYyMgojOiB4c3Rvcm15MTYtYXNtLmM6NjA5Cm1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybSBvZiBpbnN0cnVjdGlvbiIKbXNnc3RyICJmb3JtZSBkJ2luc3RydWN0aW9uIG5vbiByZWNvbm51ZSIKCiM6IGZyMzAtYXNtLmM6NzEzIGZydi1hc20uYzo5ODUgbTMyci1hc20uYzo3MTUgb3BlbnJpc2MtYXNtLmM6NjM0CiM6IHhzdG9ybXkxNi1hc20uYzo2MjEKIywgYy1mb3JtYXQKbXNnaWQgImJhZCBpbnN0cnVjdGlvbiBgJS41MHMuLi4nIgptc2dzdHIgImluc3RydWN0aW9uIGVycm9u6WUgqyAlLjUwcy4uLiC7IgoKIzogZnIzMC1hc20uYzo3MTYgZnJ2LWFzbS5jOjk4OCBtMzJyLWFzbS5jOjcxOCBvcGVucmlzYy1hc20uYzo2MzcKIzogeHN0b3JteTE2LWFzbS5jOjYyNAojLCBjLWZvcm1hdAptc2dpZCAiYmFkIGluc3RydWN0aW9uIGAlLjUwcyciCm1zZ3N0ciAiaW5zdHJ1Y3Rpb24gZXJyb27pZSCrICUuNTBzILsiCgojLiBEZWZhdWx0IHRleHQgdG8gcHJpbnQgaWYgYW4gaW5zdHJ1Y3Rpb24gaXNuJ3QgcmVjb2duaXplZC4KIzogZnIzMC1kaXMuYzozOSBmcnYtZGlzLmM6MzkgbTMyci1kaXMuYzozOSBtbWl4LWRpcy5jOjI4MiBvcGVucmlzYy1kaXMuYzozOQojOiB4c3Rvcm15MTYtZGlzLmM6MzkKbXNnaWQgIip1bmtub3duKiIKbXNnc3RyICIqaW5jb25udSoiCgojOiBmcjMwLWRpcy5jOjMxOCBmcnYtZGlzLmM6MzYwIG0zMnItZGlzLmM6MjQ5IG9wZW5yaXNjLWRpcy5jOjEzNgojOiB4c3Rvcm15MTYtZGlzLmM6MTY5CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgcHJpbnRpbmcgaW5zbi5cbiIKbXNnc3RyICJDaGFtcCBub24gcmVjb25udSAlZCBsb3JzIGRlIGwnaW1wcmVzc2lvbiBpbnNuLlxuIgoKIzogZnIzMC1pYmxkLmM6MTY2IGZydi1pYmxkLmM6MTY2IG0zMnItaWJsZC5jOjE2NiBvcGVucmlzYy1pYmxkLmM6MTY2CiM6IHhzdG9ybXkxNi1pYmxkLmM6MTY2CiMsIGMtZm9ybWF0Cm1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAoJWxkIG5vdCBiZXR3ZWVuICVsZCBhbmQgJWx1KSIKbXNnc3RyICJvcOlyYW5kZSBob3JzIGdhbW1lICglbGQgbidlc3QgcGFzIGVudHJlICVsZCBldCAlbHUpIgoKIzogZnIzMC1pYmxkLmM6MTc5IGZydi1pYmxkLmM6MTc5IG0zMnItaWJsZC5jOjE3OSBvcGVucmlzYy1pYmxkLmM6MTc5CiM6IHhzdG9ybXkxNi1pYmxkLmM6MTc5CiMsIGMtZm9ybWF0Cm1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAoJWx1IG5vdCBiZXR3ZWVuIDAgYW5kICVsdSkiCm1zZ3N0ciAib3DpcmFuZGUgaG9ycyBnYW1tZSAoJWx1IG4nZXN0IHBhcyBlbnRyZSAwIGV0ICVsdSkiCgojOiBmcjMwLWlibGQuYzo3MzAgZnJ2LWlibGQuYzo4MjAgbTMyci1pYmxkLmM6NjU5IG9wZW5yaXNjLWlibGQuYzo2MzMKIzogeHN0b3JteTE2LWlibGQuYzo2NzgKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBidWlsZGluZyBpbnNuLlxuIgptc2dzdHIgIkNoYW1wIG5vbiByZWNvbm51ICVkIGxvcnMgZGUgbGEgY29uc3RydWN0aW9uIGRlIGluc24uXG4iCgojOiBmcjMwLWlibGQuYzo5MzcgZnJ2LWlibGQuYzoxMTAzIG0zMnItaWJsZC5jOjc5MiBvcGVucmlzYy1pYmxkLmM6NzM1CiM6IHhzdG9ybXkxNi1pYmxkLmM6ODI2CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgZGVjb2RpbmcgaW5zbi5cbiIKbXNnc3RyICJDaGFtcCBub24gcmVjb25udSAlZCBsb3JzIGR1IGTpY29kYWdlIGRlIGluc24uXG4iCgojOiBmcjMwLWlibGQuYzoxMDg2IGZydi1pYmxkLmM6MTM0OCBtMzJyLWlibGQuYzo5MDIgb3BlbnJpc2MtaWJsZC5jOjgxNQojOiB4c3Rvcm15MTYtaWJsZC5jOjkzOQojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIGdldHRpbmcgaW50IG9wZXJhbmQuXG4iCm1zZ3N0ciAiQ2hhbXAgbm9uIHJlY29ubnUgJWQgbG9ycyBkZSBsYSBwcmlzZSBkJ3VuZSBvcOlyYW5kZSBpbnQuXG4iCgojOiBmcjMwLWlibGQuYzoxMjE1IGZydi1pYmxkLmM6MTU3MyBtMzJyLWlibGQuYzo5OTIgb3BlbnJpc2MtaWJsZC5jOjg3NQojOiB4c3Rvcm15MTYtaWJsZC5jOjEwMzIKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBnZXR0aW5nIHZtYSBvcGVyYW5kLlxuIgptc2dzdHIgIkNoYW1wIG5vbiByZWNvbm51ICVkIGxvcnMgZGUgbGEgcHJpc2UgZCd1bmUgb3DpcmFuZGUgdm1hLlxuIgoKIzogZnIzMC1pYmxkLmM6MTM0OSBmcnYtaWJsZC5jOjE4MDcgbTMyci1pYmxkLmM6MTA5MCBvcGVucmlzYy1pYmxkLmM6OTQ0CiM6IHhzdG9ybXkxNi1pYmxkLmM6MTEzNAojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIHNldHRpbmcgaW50IG9wZXJhbmQuXG4iCm1zZ3N0ciAiQ2hhbXAgbm9uIHJlY29ubnUgJWQgbG9ycyBkZSBsJ2luaXRpYWxpc2F0aW9uIGQndW5lIG9w6XJhbmRlIGludC5cbiIKCiM6IGZyMzAtaWJsZC5jOjE0NzEgZnJ2LWlibGQuYzoyMDI5IG0zMnItaWJsZC5jOjExNzYgb3BlbnJpc2MtaWJsZC5jOjEwMDEKIzogeHN0b3JteTE2LWlibGQuYzoxMjI0CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgc2V0dGluZyB2bWEgb3BlcmFuZC5cbiIKbXNnc3RyICJDaGFtcCBub24gcmVjb25udSAlZCBsb3JzIGRlIGwnaW5pdGlhbGlzYXRpb24gZCd1bmUgb3DpcmFuZGUgdm1hLlxuIgoKIyBoODMwMC1kaXMuYzozODBJbnRlcm5hbCBlcnJvcjogYmFkIHNwYXJjLW9wY29kZS5oOiBcIiVzXCIgPT0gXCIlc1wiXG4iCiM6IGg4MzAwLWRpcy5jOjM4NQojLCBjLWZvcm1hdAptc2dpZCAiSG1tbW0gJXgiCm1zZ3N0ciAiSHVtbW0gJXgiCgojOiBoODMwMC1kaXMuYzozOTYKIywgYy1mb3JtYXQKbXNnaWQgIkRvbid0IHVuZGVyc3RhbmQgJXggXG4iCm1zZ3N0ciAiTmUgY29tcHJlbmQgcGFzICV4IFxuIgoKIzogaDg1MDAtZGlzLmM6MTQzCiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW4ndCBjb3BlIHdpdGggaW5zZXJ0ICVkXG4iCm1zZ3N0ciAiTmUgcGV1dCBn6XJlciBsJ2luc2VydGlvbiAlZFxuIgoKIy4gQ291bGRuJ3QgdW5kZXJzdGFuZCBhbnl0aGluZy4KIzogaDg1MDAtZGlzLmM6MzUwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlMDJ4XHRcdCp1bmtub3duKiIKbXNnc3RyICIlMDJ4XHRcdCppbmNvbm51KiIKCiM6IGkzODYtZGlzLmM6MTY0OQptc2dpZCAiPGludGVybmFsIGRpc2Fzc2VtYmxlciBlcnJvcj4iCm1zZ3N0ciAiPGVycmV1ciBpbnRlcm5lIGR1IGTpc2Fzc2VtYmxldXI+IgoKIzogbTEwMjAwLWRpcy5jOjE5OQojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93blx0MHglMDJ4Igptc2dzdHIgImluY29ubnVcdDB4JTAyeCIKCiM6IG0xMDIwMC1kaXMuYzozMzkKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd25cdDB4JTA0bHgiCm1zZ3N0ciAiaW5jb25udVx0MHglMDRseCIKCiM6IG0xMDMwMC1kaXMuYzo2ODUKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd25cdDB4JTA0eCIKbXNnc3RyICJpbmNvbm51XHQweCUwNHgiCgojOiBtNjhrLWRpcy5jOjQyOQojLCBjLWZvcm1hdAptc2dpZCAiPGludGVybmFsIGVycm9yIGluIG9wY29kZSB0YWJsZTogJXMgJXM+XG4iCm1zZ3N0ciAiPGVycmV1ciBpbnRlcm5lIGRhbnMgbGEgdGFibGUgZGVzIGNvZGVzLW9wOiAlcyAlcz5cbiIKCiM6IG02OGstZGlzLmM6MTAwNwojLCBjLWZvcm1hdAptc2dpZCAiPGZ1bmN0aW9uIGNvZGUgJWQ+Igptc2dzdHIgIjxjb2RlIGRlIGZvbmN0aW9uICVkPiIKCiM6IG04OGstZGlzLmM6MjU1CiMsIGMtZm9ybWF0Cm1zZ2lkICIjIDxkaXMgZXJyb3I6ICUwOHg+Igptc2dzdHIgIiMgPGVycmV1ciBkdSBk6XNhc3NlbWJsZXVyOiAlMDh4PiIKCiM6IG1pcHMtZGlzLmM6MzM3CiMsIGMtZm9ybWF0Cm1zZ2lkICIjIGludGVybmFsIGVycm9yLCB1bmRlZmluZWQgbW9kaWZpZXIoJWMpIgptc2dzdHIgIiMgZXJyZXVyIGludGVybmUsIG1vZGlmaWNhdGV1ciBub24gZOlmaW5pKCVjKSIKCiM6IG1pcHMtZGlzLmM6MTIwOQojLCBjLWZvcm1hdAptc2dpZCAiIyBpbnRlcm5hbCBkaXNhc3NlbWJsZXIgZXJyb3IsIHVucmVjb2duaXNlZCBtb2RpZmllciAoJWMpIgptc2dzdHIgIiMgZXJyZXVyIGludGVybmUgZHUgZOlzc2Fzc2VtYmxldXIsIG1vZGlmaWNhdGV1ciBub24gcmVjb25udSglYykiCgojOiBtbWl4LWRpcy5jOjM0CiMsIGMtZm9ybWF0Cm1zZ2lkICJCYWQgY2FzZSAlZCAoJXMpIGluICVzOiVkXG4iCm1zZ3N0ciAiQ2FzZSBlcnJvbukgJWQgKCVzKSBkYW5zICVzOiVkXG4iCgojOiBtbWl4LWRpcy5jOjQ0CiMsIGMtZm9ybWF0Cm1zZ2lkICJJbnRlcm5hbDogTm9uLWRlYnVnZ2VkIGNvZGUgKHRlc3QtY2FzZSBtaXNzaW5nKTogJXM6JWQiCm1zZ3N0ciAiSW50ZXJuZTogY29kZSBxdWkgbidlc3QgcGFzIGF1IHBvaW50IChjYXNlIGRlIHRlc3QgbWFucXVhbnQpOiAlczolZCIKCiM6IG1taXgtZGlzLmM6NTMKbXNnaWQgIih1bmtub3duKSIKbXNnc3RyICIoaW5jb25udSkiCgojOiBtbWl4LWRpcy5jOjUxNwojLCBjLWZvcm1hdAptc2dpZCAiKnVua25vd24gb3BlcmFuZHMgdHlwZTogJWQqIgptc2dzdHIgIip0eXBlIGQnb3DpcmFuZGUgaW5jb25udWU6ICVkKiIKCiMuIEkgYW5kIFogYXJlIG91dHB1dCBvcGVyYW5kcyBhbmQgY2FuYHQgYmUgaW1tZWRpYXRlCiMuICogQSBpcyBhbiBhZGRyZXNzIGFuZCB3ZSBjYW5gdCBoYXZlIHRoZSBhZGRyZXNzIG9mCiMuICogYW4gaW1tZWRpYXRlIGVpdGhlci4gV2UgZG9uJ3Qga25vdyBob3cgbXVjaCB0byBpbmNyZWFzZQojLiAqIGFvZmZzZXRwIGJ5IHNpbmNlIHdoYXRldmVyIGdlbmVyYXRlZCB0aGlzIGlzIGJyb2tlbgojLiAqIGFueXdheSEKIy4KIzogbnMzMmstZGlzLmM6NjI4Cm1zZ2lkICIkPHVuZGVmaW5lZD4iCm1zZ3N0ciAiJDxub24gZOlmaW5pPiIKCiM6IHBwYy1vcGMuYzo3NzcgcHBjLW9wYy5jOjgxMAptc2dpZCAiaW52YWxpZCBjb25kaXRpb25hbCBvcHRpb24iCm1zZ3N0ciAib3B0aW9uIGNvbmRpdGlvbm5lbGxlIGludmFsaWRlIgoKIzogcHBjLW9wYy5jOjgxMgptc2dpZCAiYXR0ZW1wdCB0byBzZXQgeSBiaXQgd2hlbiB1c2luZyArIG9yIC0gbW9kaWZpZXIiCm1zZ3N0ciAidGVudGF0aXZlIGQnaW5pdGlhbGlzYXRpb24gZHUgYml0IHkgbG9yc3F1ZSBsZSBtb2RpZmljYXRldXIgKyBvdSAtIGEg6XTpIHV0aWxpc+kiCgojOiBwcGMtb3BjLmM6ODQ0IHBwYy1vcGMuYzo4OTYKbXNnaWQgIm9mZnNldCBub3QgYSBtdWx0aXBsZSBvZiA0Igptc2dzdHIgImTpY2FsYWdlIG4nZXN0IHBhcyB1biBtdWx0aXBsZSBkZSA0IgoKIzogcHBjLW9wYy5jOjg2OQptc2dpZCAib2Zmc2V0IG5vdCBiZXR3ZWVuIC0yMDQ4IGFuZCAyMDQ3Igptc2dzdHIgImTpY2FsYWdlIG4nZXN0IHBhcyBlbnRyZSAtMjA0OCBldCAyMDQ3IgoKIzogcHBjLW9wYy5jOjg5NAptc2dpZCAib2Zmc2V0IG5vdCBiZXR3ZWVuIC04MTkyIGFuZCA4MTkxIgptc2dzdHIgImTpY2FsYWdlIG4nZXN0IHBhcyBlbnRyZSAtODE5MiBldCA4MTkxIgoKIzogcHBjLW9wYy5jOjkyMgptc2dpZCAiaWdub3JpbmcgbGVhc3Qgc2lnbmlmaWNhbnQgYml0cyBpbiBicmFuY2ggb2Zmc2V0Igptc2dzdHIgIkxlcyBkZXJuaWVycyBiaXRzIGxlcyBtb2lucyBzaWduaWZpY2F0aWZzIHNvbnQgaWdub3LpcyBkYW5zIGxlIGTpY2FsYWdlIGRlIGJyYW5jaGVtZW50IgoKIzogcHBjLW9wYy5jOjk1NiBwcGMtb3BjLmM6OTkzCm1zZ2lkICJpbGxlZ2FsIGJpdG1hc2siCm1zZ3N0ciAibWFzcXVlIGRlIGJpdHMgaWxs6WdhbCIKCiM6IHBwYy1vcGMuYzoxMDY2Cm1zZ2lkICJ2YWx1ZSBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAidmFsZXVyIGhvcnMgZ2FtbWUiCgojOiBwcGMtb3BjLmM6MTE0Mgptc2dpZCAiaW5kZXggcmVnaXN0ZXIgaW4gbG9hZCByYW5nZSIKbXNnc3RyICJyZWdpc3RyZSBpbmRleCBuJ2VzdCBwYXMgZGFucyBsYSBwbGFnZSBkZSBjaGFyZ2VtZW50IgoKIzogcHBjLW9wYy5jOjExNTgKbXNnaWQgImludmFsaWQgcmVnaXN0ZXIgb3BlcmFuZCB3aGVuIHVwZGF0aW5nIgptc2dzdHIgIm9w6XJhbmRlIHJlZ2lzdHJlIGludmFsaWRlIGxvcnMgZGUgbGEgbWlzZSDgIGpvdXIiCgojLiBNYXJrIGFzIG5vbi12YWxpZCBpbnN0cnVjdGlvbgojOiBzcGFyYy1kaXMuYzo3NTAKbXNnaWQgInVua25vd24iCm1zZ3N0ciAiaW5jb25udSIKCiM6IHNwYXJjLWRpcy5jOjgyNQojLCBjLWZvcm1hdAptc2dpZCAiSW50ZXJuYWwgZXJyb3I6ICBiYWQgc3BhcmMtb3Bjb2RlLmg6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKbXNnc3RyICJFcnJldXIgaW50ZXJuZTogIHNwYXJjLW9wY29kZS5oIGVycm9u6TogqyAlcyC7LCAlIy44bHgsICUjLjhseFxuIgoKIzogc3BhcmMtZGlzLmM6ODM2CiMsIGMtZm9ybWF0Cm1zZ2lkICJJbnRlcm5hbCBlcnJvcjogYmFkIHNwYXJjLW9wY29kZS5oOiBcIiVzXCIsICUjLjhseCwgJSMuOGx4XG4iCm1zZ3N0ciAiRXJyZXVyIGludGVybmU6IHNwYXJjLW9wY29kZS5oIGVycm9u6TogqyAlcyC7LCAlIy44bHgsICUjLjhseFxuIgoKIzogc3BhcmMtZGlzLmM6ODg1CiMsIGMtZm9ybWF0Cm1zZ2lkICJJbnRlcm5hbCBlcnJvcjogYmFkIHNwYXJjLW9wY29kZS5oOiBcIiVzXCIgPT0gXCIlc1wiXG4iCm1zZ3N0ciAiRXJyZXVyIGludGVybmU6IHNwYXJjLW9wY29kZS5oIGVycm9u6TogqyAlcyC7ID09IKsgJXMgu1xuIgoKIzogdjg1MC1kaXMuYzoyMjQKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gb3BlcmFuZCBzaGlmdDogJXhcbiIKbXNnc3RyICJk6WNhbGFnZSBkJ29w6XJhbmRlIGluY29ubnU6ICV4XG4iCgojOiB2ODUwLWRpcy5jOjIzNgojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93biBwb3AgcmVnOiAlZFxuIgptc2dzdHIgInJlZ2lzdHJlIGRlIHBpbGUgaW5jb25udTogJWRcbiIKCiMuIFRoZSBmdW5jdGlvbnMgdXNlZCB0byBpbnNlcnQgYW5kIGV4dHJhY3QgY29tcGxpY2F0ZWQgb3BlcmFuZHMuCiMuIE5vdGU6IFRoZXJlIGlzIGEgY29uc3BpcmFjeSBiZXR3ZWVuIHRoZXNlIGZ1bmN0aW9ucyBhbmQKIy4gdjg1MF9pbnNlcnRfb3BlcmFuZCgpIGluIGdhcy9jb25maWcvdGMtdjg1MC5jLiAgRXJyb3IgbWVzc2FnZXMKIy4gY29udGFpbmluZyB0aGUgc3RyaW5nICdvdXQgb2YgcmFuZ2UnIHdpbGwgYmUgaWdub3JlZCB1bmxlc3MgYQojLiBzcGVjaWZpYyBjb21tYW5kIGxpbmUgb3B0aW9uIGlzIGdpdmVuIHRvIEdBUy4KIzogdjg1MC1vcGMuYzo2OAptc2dpZCAiZGlzcGxhY2VtZW50IHZhbHVlIGlzIG5vdCBpbiByYW5nZSBhbmQgaXMgbm90IGFsaWduZWQiCm1zZ3N0ciAiTGEgdmFsZXVyIGRlIGTpcGxhY2VtZW50IGVzdCBob3JzIGdhbW1lIGV0IG4nZXN0IHBhcyBhbGlnbullLiIKCiM6IHY4NTAtb3BjLmM6NjkKbXNnaWQgImRpc3BsYWNlbWVudCB2YWx1ZSBpcyBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAidmFsZXVyIGRlIGTpcGxhY2VtZW50IGVzdCBob3JzIGdhbW1lIgoKIzogdjg1MC1vcGMuYzo3MAptc2dpZCAiZGlzcGxhY2VtZW50IHZhbHVlIGlzIG5vdCBhbGlnbmVkIgptc2dzdHIgInZhbGV1ciBkZSBk6XBsYWNlbWVudCBuJ2VzdCBwYXMgYWxpZ27pZSIKCiM6IHY4NTAtb3BjLmM6NzIKbXNnaWQgImltbWVkaWF0ZSB2YWx1ZSBpcyBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAidmFsZXVyIGltbelkaWF0ZSBlc3QgaG9ycyBnYW1tZSIKCiM6IHY4NTAtb3BjLmM6ODMKbXNnaWQgImJyYW5jaCB2YWx1ZSBub3QgaW4gcmFuZ2UgYW5kIHRvIG9kZCBvZmZzZXQiCm1zZ3N0ciAidmFsZXVyIGRlIGJyYW5jaGVtZW50IGVzdCBob3JzIGdhbW1lIGV0IGEgdW4gZOljYWxhZ2UgaW1wYWlyIgoKIzogdjg1MC1vcGMuYzo4NSB2ODUwLW9wYy5jOjExNwptc2dpZCAiYnJhbmNoIHZhbHVlIG91dCBvZiByYW5nZSIKbXNnc3RyICJ2YWxldXIgZGUgYnJhbmNoZW1lbnQgaG9ycyBnYW1tZSIKCiM6IHY4NTAtb3BjLmM6ODggdjg1MC1vcGMuYzoxMjAKbXNnaWQgImJyYW5jaCB0byBvZGQgb2Zmc2V0Igptc2dzdHIgIkJyYW5jaGVtZW50IGF2ZWMgdW4gZOljYWxhZ2UgaW1wYWlyIgoKIzogdjg1MC1vcGMuYzoxMTUKbXNnaWQgImJyYW5jaCB2YWx1ZSBub3QgaW4gcmFuZ2UgYW5kIHRvIGFuIG9kZCBvZmZzZXQiCm1zZ3N0ciAidmFsZXVyIGRlIGJyYW5jaGVtZW50IGVzdCBob3JzIGdhbW1lIGV0IGEgdW4gZOljYWxhZ2UgaW1wYWlyIgoKIzogdjg1MC1vcGMuYzozNDYKbXNnaWQgImludmFsaWQgcmVnaXN0ZXIgZm9yIHN0YWNrIGFkanVzdG1lbnQiCm1zZ3N0ciAicmVnaXN0cmUgaW52YWxpZGUgcG91ciB1biBhanVzdGVtZW50IGRlIGxhIHBpbGUiCgojOiB2ODUwLW9wYy5jOjM3MAptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIG5vdCBpbiByYW5nZSBhbmQgbm90IGV2ZW4iCm1zZ3N0ciAidmFsZXVyIGltbelkaWF0ZSBlc3QgaG9ycyBnYW1tZSBldCBlc3QgaW1wYWlyZSIKCiM6IHY4NTAtb3BjLmM6Mzc1Cm1zZ2lkICJpbW1lZGlhdGUgdmFsdWUgbXVzdCBiZSBldmVuIgptc2dzdHIgInZhbGV1ciBpbW3pZGlhdGUgZG9pdCDqdHJlIHBhaXJlIgoKIzogeHN0b3JteTE2LWFzbS5jOjc0Cm1zZ2lkICJCYWQgcmVnaXN0ZXIgaW4gcHJlaW5jcmVtZW50Igptc2dzdHIgIlJlZ2lzdHJlIGVycm9u6SBkYW5zIHVuIHBy6WluY3LpbWVudCIKCiM6IHhzdG9ybXkxNi1hc20uYzo3OQptc2dpZCAiQmFkIHJlZ2lzdGVyIGluIHBvc3RpbmNyZW1lbnQiCm1zZ3N0ciAiUmVnaXN0cmUgZXJyb27pIGRhbnMgdW4gcG9zdGluY3LpbWVudCIKCiM6IHhzdG9ybXkxNi1hc20uYzo4MQptc2dpZCAiQmFkIHJlZ2lzdGVyIG5hbWUiCm1zZ3N0ciAiTm9tIGVycm9u6SBkZSByZWdpc3RyZSIKCiM6IHhzdG9ybXkxNi1hc20uYzo4NQptc2dpZCAiTGFiZWwgY29uZmxpY3RzIHdpdGggcmVnaXN0ZXIgbmFtZSIKbXNnc3RyICJDb25mbGl0cyBkJ+l0aXF1ZXR0ZSBhdmVjIGxlIG5vbSBkZSByZWdpc3RyZSIKCiM6IHhzdG9ybXkxNi1hc20uYzo4OQptc2dpZCAiTGFiZWwgY29uZmxpY3RzIHdpdGggYFJ4JyIKbXNnc3RyICJDb25mbGl0IGQn6XRpcXVldHRlIGF2ZWMgqyBSeCC7IgoKIzogeHN0b3JteTE2LWFzbS5jOjkxCm1zZ2lkICJCYWQgaW1tZWRpYXRlIGV4cHJlc3Npb24iCm1zZ3N0ciAiRXhwcmVzc2lvbiBpbW3pZGlhdGUgZXJyb27pZSIKCiM6IHhzdG9ybXkxNi1hc20uYzoxMjAKbXNnaWQgIlNtYWxsIG9wZXJhbmQgd2FzIG5vdCBhbiBpbW1lZGlhdGUgbnVtYmVyIgptc2dzdHIgIlBldGl0ZSBvcOlyYW5kZSBuJ+l0YWl0IHBhcyB1biBub21icmUgaW1t6WRpYXQiCgojfiBtc2dpZCAidW5yZWNvZ25pemVkIGtleXdvcmQvcmVnaXN0ZXIgbmFtZSIKI34gbXNnc3RyICJub20gZGUgbW90IGNs6SBvdSBkZSByZWdpc3RyZSBub24gcmVjb25udSIK