IyBTd2VkaXNoIG1lc3NhZ2VzIGZvciBvcGNvZGVzLgojIENvcHlyaWdodCAoQykgMjAwMSwgMjAwMiwgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBDaHJpc3RpYW4gUm9zZSA8bWVudGhvc0BtZW50aG9zLmNvbT4sIDIwMDEsIDIwMDIsIDIwMDMuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IG9wY29kZXMgMi4xNHJlbDAzMDcxMlxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDMtMDctMTEgMTM6NTYrMDkzMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0wNy0xNiAxNDozNiswMjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IENocmlzdGlhbiBSb3NlIDxtZW50aG9zQG1lbnRob3MuY29tPlxuIgoiTGFuZ3VhZ2UtVGVhbTogU3dlZGlzaCA8c3ZAbGkub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1pc28tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojOiBhbHBoYS1vcGMuYzozMzUKbXNnaWQgImJyYW5jaCBvcGVyYW5kIHVuYWxpZ25lZCIKbXNnc3RyICJncmVub3BlcmFuZGVuIGxpZ2dlciBpbnRlIHDlIGrkbW4gZ3LkbnMiCgojOiBhbHBoYS1vcGMuYzozNTggYWxwaGEtb3BjLmM6MzgwCm1zZ2lkICJqdW1wIGhpbnQgdW5hbGlnbmVkIgptc2dzdHIgImhvcHB0aXBzZXQgbGlnZ2VyIGludGUgcOUgauRtbiBncuRucyIKCiM6IGFyYy1kaXMuYzo1Mgptc2dpZCAiSWxsZWdhbCBsaW1tIHJlZmVyZW5jZSBpbiBsYXN0IGluc3RydWN0aW9uIVxuIgptc2dzdHIgIk90aWxs5XRlbiBsaW1tLXJlZmVyZW5zIGkgc2lzdGEgaW5zdHJ1a3Rpb25lbiFcbiIKCiM6IGFybS1kaXMuYzo1NTQKbXNnaWQgIjxpbGxlZ2FsIHByZWNpc2lvbj4iCm1zZ3N0ciAiPG90aWxs5XRlbiBwcmVjaXNpb24+IgoKIzogYXJtLWRpcy5jOjExNjIKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXNlZCByZWdpc3RlciBuYW1lIHNldDogJXNcbiIKbXNnc3RyICJPa+RudCByZWdpc3Rlcm5hbW4g5HIgYW5naXZldDogJXNcbiIKCiM6IGFybS1kaXMuYzoxMTY5CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbmlzZWQgZGlzYXNzZW1ibGVyIG9wdGlvbjogJXNcbiIKbXNnc3RyICJPa+RudCBkaXNhc3NlbWJsZXJhbHRlcm5hdGl2OiAlc1xuIgoKIzogYXJtLWRpcy5jOjEzNDMKbXNnaWQgIiIKIlxuIgoiVGhlIGZvbGxvd2luZyBBUk0gc3BlY2lmaWMgZGlzYXNzZW1ibGVyIG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgdXNlIHdpdGhcbiIKInRoZSAtTSBzd2l0Y2g6XG4iCm1zZ3N0ciAiIgoiXG4iCiJG9mxqYW5kZSBBUk0tc3BlY2lmaWthIGRpc2Fzc2VtYmxlcmFsdGVybmF0aXYgc3T2ZHMgZvZyIGFuduRuZG5pbmdcbiIKInRpbGxzYW1tYW5zIG1lZCBmbGFnZ2FuIC1NOlxuIgoKIzogYXZyLWRpcy5jOjExNyBhdnItZGlzLmM6MTI3Cm1zZ2lkICJ1bmRlZmluZWQiCm1zZ3N0ciAib2RlZmluaWVyYWQiCgojOiBhdnItZGlzLmM6MTc5Cm1zZ2lkICJJbnRlcm5hbCBkaXNhc3NlbWJsZXIgZXJyb3IiCm1zZ3N0ciAiSW50ZXJudCBmZWwgaSBkaXNhc3NlbWJsZXJhcmVuIgoKIzogYXZyLWRpcy5jOjIyNwojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93biBjb25zdHJhaW50IGAlYyciCm1zZ3N0ciAib2vkbmQgYmVncuRuc25pbmcgXCIlY1wiIgoKIzogY2dlbi1hc20uYzozNDggZnIzMC1pYmxkLmM6MTk1IGZydi1pYmxkLmM6MTk1IGlwMmstaWJsZC5jOjE5NQojOiBpcTIwMDAtaWJsZC5jOjE5NSBtMzJyLWlibGQuYzoxOTUgb3BlbnJpc2MtaWJsZC5jOjE5NSB4c3Rvcm15MTYtaWJsZC5jOjE5NQojLCBjLWZvcm1hdAptc2dpZCAib3BlcmFuZCBvdXQgb2YgcmFuZ2UgKCVsZCBub3QgYmV0d2VlbiAlbGQgYW5kICVsZCkiCm1zZ3N0ciAib3BlcmFuZGVuIORyIHV0YW5m9nIgaW50ZXJ2YWxsZXQgKCVsZCDkciBpbnRlIG1lbGxhbiAlbGQgb2NoICVsZCkiCgojOiBjZ2VuLWFzbS5jOjM2OQojLCBjLWZvcm1hdAptc2dpZCAib3BlcmFuZCBvdXQgb2YgcmFuZ2UgKCVsdSBub3QgYmV0d2VlbiAlbHUgYW5kICVsdSkiCm1zZ3N0ciAib3BlcmFuZGVuIORyIHV0YW5m9nIgaW50ZXJ2YWxsZXQgKCVsdSDkciBpbnRlIG1lbGxhbiAlbHUgb2NoICVsdSkiCgojOiBkMzB2LWRpcy5jOjMxMgojLCBjLWZvcm1hdAptc2dpZCAiPHVua25vd24gcmVnaXN0ZXIgJWQ+Igptc2dzdHIgIjxva+RudCByZWdpc3RlciAlZD4iCgojLiBDYW4ndCBoYXBwZW4uCiM6IGRpcy1idWYuYzo1NwojLCBjLWZvcm1hdAptc2dpZCAiVW5rbm93biBlcnJvciAlZFxuIgptc2dzdHIgIk9r5G50IGZlbCAlZFxuIgoKIzogZGlzLWJ1Zi5jOjYyCiMsIGMtZm9ybWF0Cm1zZ2lkICJBZGRyZXNzIDB4JXggaXMgb3V0IG9mIGJvdW5kcy5cbiIKbXNnc3RyICJBZHJlc3NlbiAweCV4IGxpZ2dlciB1dGFuZvZyIHRpbGzldG5hIGdy5G5zZXIuXG4iCgojOiBmcjMwLWFzbS5jOjMyMyBmcnYtYXNtLmM6NjI2IGlwMmstYXNtLmM6NTc0IGlxMjAwMC1hc20uYzo0NjAgbTMyci1hc20uYzozMjUKIzogb3BlbnJpc2MtYXNtLmM6MjYxIHhzdG9ybXkxNi1hc20uYzoyODQKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBwYXJzaW5nLlxuIgptc2dzdHIgIk9r5G50IGbkbHQgJWQgdmlkIHRvbGtuaW5nLlxuIgoKIzogZnIzMC1hc20uYzozNzMgZnJ2LWFzbS5jOjY3NiBpcDJrLWFzbS5jOjYyNCBpcTIwMDAtYXNtLmM6NTEwIG0zMnItYXNtLmM6Mzc1CiM6IG9wZW5yaXNjLWFzbS5jOjMxMSB4c3Rvcm15MTYtYXNtLmM6MzM0Cm1zZ2lkICJtaXNzaW5nIG1uZW1vbmljIGluIHN5bnRheCBzdHJpbmciCm1zZ3N0ciAiaW5zdHJ1a3Rpb24gc2FrbmFzIGkgc3ludGF4c3Ry5G5nIgoKIy4gV2UgY291bGRuJ3QgcGFyc2UgaXQuCiM6IGZyMzAtYXNtLmM6NTA5IGZyMzAtYXNtLmM6NTEzIGZyMzAtYXNtLmM6NjAwIGZyMzAtYXNtLmM6NzAyIGZydi1hc20uYzo4MTIKIzogZnJ2LWFzbS5jOjgxNiBmcnYtYXNtLmM6OTAzIGZydi1hc20uYzoxMDA1IGlwMmstYXNtLmM6NzYwIGlwMmstYXNtLmM6NzY0CiM6IGlwMmstYXNtLmM6ODUxIGlwMmstYXNtLmM6OTUzIGlxMjAwMC1hc20uYzo2NDYgaXEyMDAwLWFzbS5jOjY1MAojOiBpcTIwMDAtYXNtLmM6NzM3IGlxMjAwMC1hc20uYzo4MzkgbTMyci1hc20uYzo1MTEgbTMyci1hc20uYzo1MTUKIzogbTMyci1hc20uYzo2MDIgbTMyci1hc20uYzo3MDQgb3BlbnJpc2MtYXNtLmM6NDQ3IG9wZW5yaXNjLWFzbS5jOjQ1MQojOiBvcGVucmlzYy1hc20uYzo1Mzggb3BlbnJpc2MtYXNtLmM6NjQwIHhzdG9ybXkxNi1hc20uYzo0NzAKIzogeHN0b3JteTE2LWFzbS5jOjQ3NCB4c3Rvcm15MTYtYXNtLmM6NTYxIHhzdG9ybXkxNi1hc20uYzo2NjMKbXNnaWQgInVucmVjb2duaXplZCBpbnN0cnVjdGlvbiIKbXNnc3RyICJva+RuZCBpbnN0cnVrdGlvbiIKCiM6IGZyMzAtYXNtLmM6NTU2IGZydi1hc20uYzo4NTkgaXAyay1hc20uYzo4MDcgaXEyMDAwLWFzbS5jOjY5MyBtMzJyLWFzbS5jOjU1OAojOiBvcGVucmlzYy1hc20uYzo0OTQgeHN0b3JteTE2LWFzbS5jOjUxNwojLCBjLWZvcm1hdAptc2dpZCAic3ludGF4IGVycm9yIChleHBlY3RlZCBjaGFyIGAlYycsIGZvdW5kIGAlYycpIgptc2dzdHIgInN5bnRheGZlbCAodGVja25ldCBcIiVjXCIgZvZyduRudGFkZXMsIGhpdHRhZGUgXCIlY1wiKSIKCiM6IGZyMzAtYXNtLmM6NTY2IGZydi1hc20uYzo4NjkgaXAyay1hc20uYzo4MTcgaXEyMDAwLWFzbS5jOjcwMyBtMzJyLWFzbS5jOjU2OAojOiBvcGVucmlzYy1hc20uYzo1MDQgeHN0b3JteTE2LWFzbS5jOjUyNwojLCBjLWZvcm1hdAptc2dpZCAic3ludGF4IGVycm9yIChleHBlY3RlZCBjaGFyIGAlYycsIGZvdW5kIGVuZCBvZiBpbnN0cnVjdGlvbikiCm1zZ3N0ciAic3ludGF4ZmVsICh0ZWNrbmV0IFwiJWNcIiBm9nJ25G50YWRlcywgaGl0dGFkZSBzbHV0ZXQgcOUgaW5zdHJ1a3Rpb24pIgoKIzogZnIzMC1hc20uYzo1OTQgZnJ2LWFzbS5jOjg5NyBpcDJrLWFzbS5jOjg0NSBpcTIwMDAtYXNtLmM6NzMxIG0zMnItYXNtLmM6NTk2CiM6IG9wZW5yaXNjLWFzbS5jOjUzMiB4c3Rvcm15MTYtYXNtLmM6NTU1Cm1zZ2lkICJqdW5rIGF0IGVuZCBvZiBsaW5lIgptc2dzdHIgInNrcuRwIHZpZCBzbHV0ZXQgcOUgcmFkZW4iCgojOiBmcjMwLWFzbS5jOjcwMSBmcnYtYXNtLmM6MTAwNCBpcDJrLWFzbS5jOjk1MiBpcTIwMDAtYXNtLmM6ODM4CiM6IG0zMnItYXNtLmM6NzAzIG9wZW5yaXNjLWFzbS5jOjYzOSB4c3Rvcm15MTYtYXNtLmM6NjYyCm1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybSBvZiBpbnN0cnVjdGlvbiIKbXNnc3RyICJva+RuZCBpbnN0cnVrdGlvbnNmb3JtIgoKIzogZnIzMC1hc20uYzo3MTMgZnJ2LWFzbS5jOjEwMTYgaXAyay1hc20uYzo5NjQgaXEyMDAwLWFzbS5jOjg1MAojOiBtMzJyLWFzbS5jOjcxNSBvcGVucmlzYy1hc20uYzo2NTEgeHN0b3JteTE2LWFzbS5jOjY3NAojLCBjLWZvcm1hdAptc2dpZCAiYmFkIGluc3RydWN0aW9uIGAlLjUwcy4uLiciCm1zZ3N0ciAiZmVsYWt0aWcgaW5zdHJ1a3Rpb24gXCIlLjUwcy4uLlwiIgoKIzogZnIzMC1hc20uYzo3MTYgZnJ2LWFzbS5jOjEwMTkgaXAyay1hc20uYzo5NjcgaXEyMDAwLWFzbS5jOjg1MwojOiBtMzJyLWFzbS5jOjcxOCBvcGVucmlzYy1hc20uYzo2NTQgeHN0b3JteTE2LWFzbS5jOjY3NwojLCBjLWZvcm1hdAptc2dpZCAiYmFkIGluc3RydWN0aW9uIGAlLjUwcyciCm1zZ3N0ciAiZmVsYWt0aWcgaW5zdHJ1a3Rpb24gXCIlLjUwc1wiIgoKIy4gRGVmYXVsdCB0ZXh0IHRvIHByaW50IGlmIGFuIGluc3RydWN0aW9uIGlzbid0IHJlY29nbml6ZWQuCiM6IGZyMzAtZGlzLmM6NDEgZnJ2LWRpcy5jOjQxIGlwMmstZGlzLmM6NDEgaXEyMDAwLWRpcy5jOjQxIG0zMnItZGlzLmM6NDEKIzogbW1peC1kaXMuYzoyODQgb3BlbnJpc2MtZGlzLmM6NDEgeHN0b3JteTE2LWRpcy5jOjQxCm1zZ2lkICIqdW5rbm93bioiCm1zZ3N0ciAiKm9r5G5kKiIKCiM6IGZyMzAtZGlzLmM6MzIwIGZydi1kaXMuYzozNzEgaXAyay1kaXMuYzozMjkgaXEyMDAwLWRpcy5jOjE5MiBtMzJyLWRpcy5jOjI1MQojOiBvcGVucmlzYy1kaXMuYzoxMzggeHN0b3JteTE2LWRpcy5jOjE3MQojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIHByaW50aW5nIGluc24uXG4iCm1zZ3N0ciAiT2vkbnQgZuRsdCAlZCB2aWQgdXRza3JpZnQgYXYgaW5zdHJ1a3Rpb24uXG4iCgojOiBmcjMwLWlibGQuYzoxNjYgZnJ2LWlibGQuYzoxNjYgaXAyay1pYmxkLmM6MTY2IGlxMjAwMC1pYmxkLmM6MTY2CiM6IG0zMnItaWJsZC5jOjE2NiBvcGVucmlzYy1pYmxkLmM6MTY2IHhzdG9ybXkxNi1pYmxkLmM6MTY2CiMsIGMtZm9ybWF0Cm1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAoJWxkIG5vdCBiZXR3ZWVuICVsZCBhbmQgJWx1KSIKbXNnc3RyICJvcGVyYW5kZW4g5HIgdXRhbmb2ciBpbnRlcnZhbGxldCAoJWxkIORyIGludGUgbWVsbGFuICVsZCBvY2ggJWx1KSIKCiM6IGZyMzAtaWJsZC5jOjE3OSBmcnYtaWJsZC5jOjE3OSBpcDJrLWlibGQuYzoxNzkgaXEyMDAwLWlibGQuYzoxNzkKIzogbTMyci1pYmxkLmM6MTc5IG9wZW5yaXNjLWlibGQuYzoxNzkgeHN0b3JteTE2LWlibGQuYzoxNzkKIywgYy1mb3JtYXQKbXNnaWQgIm9wZXJhbmQgb3V0IG9mIHJhbmdlICglbHUgbm90IGJldHdlZW4gMCBhbmQgJWx1KSIKbXNnc3RyICJvcGVyYW5kZW4gdXRhbmb2ciBpbnRlcnZhbGxldCAoJWx1IGludGUgbWVsbGFuIDAgb2NoICVsdSkiCgojOiBmcjMwLWlibGQuYzo3MzAgZnJ2LWlibGQuYzo4MjkgaXAyay1pYmxkLmM6NjA3IGlxMjAwMC1pYmxkLmM6NzEzCiM6IG0zMnItaWJsZC5jOjY1OSBvcGVucmlzYy1pYmxkLmM6NjMzIHhzdG9ybXkxNi1pYmxkLmM6Njc4CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgYnVpbGRpbmcgaW5zbi5cbiIKbXNnc3RyICJPa+RudCBm5Gx0ICVkIHZpZCBrb25zdHJ1a3Rpb24gYXYgaW5zdHJ1a3Rpb24uXG4iCgojOiBmcjMwLWlibGQuYzo5MzcgZnJ2LWlibGQuYzoxMTIxIGlwMmstaWJsZC5jOjY4NCBpcTIwMDAtaWJsZC5jOjg5MAojOiBtMzJyLWlibGQuYzo3OTIgb3BlbnJpc2MtaWJsZC5jOjczNSB4c3Rvcm15MTYtaWJsZC5jOjgyNgojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIGRlY29kaW5nIGluc24uXG4iCm1zZ3N0ciAiT2vkbnQgZuRsdCAlZCB2aWQgYXZrb2RuaW5nIGF2IGluc3RydWt0aW9uLlxuIgoKIzogZnIzMC1pYmxkLmM6MTA4NiBmcnYtaWJsZC5jOjEzNzUgaXAyay1pYmxkLmM6NzYxIGlxMjAwMC1pYmxkLmM6MTAyNAojOiBtMzJyLWlibGQuYzo5MDIgb3BlbnJpc2MtaWJsZC5jOjgxNSB4c3Rvcm15MTYtaWJsZC5jOjkzOQojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIGdldHRpbmcgaW50IG9wZXJhbmQuXG4iCm1zZ3N0ciAiT2vkbnQgZuRsdCAlZCB2aWQgaORtdG5pbmcgYXYgaGVsdGFsc29wZXJhbmQuXG4iCgojOiBmcjMwLWlibGQuYzoxMjE1IGZydi1pYmxkLmM6MTYwOSBpcDJrLWlibGQuYzo4MTggaXEyMDAwLWlibGQuYzoxMTM4CiM6IG0zMnItaWJsZC5jOjk5MiBvcGVucmlzYy1pYmxkLmM6ODc1IHhzdG9ybXkxNi1pYmxkLmM6MTAzMgojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIGdldHRpbmcgdm1hIG9wZXJhbmQuXG4iCm1zZ3N0ciAiT2vkbnQgZuRsdCAlZCB2aWQgaORtdG5pbmcgYXYgdm1hLW9wZXJhbmQuXG4iCgojOiBmcjMwLWlibGQuYzoxMzQ5IGZydi1pYmxkLmM6MTg1MiBpcDJrLWlibGQuYzo4ODAgaXEyMDAwLWlibGQuYzoxMjYxCiM6IG0zMnItaWJsZC5jOjEwOTAgb3BlbnJpc2MtaWJsZC5jOjk0NCB4c3Rvcm15MTYtaWJsZC5jOjExMzQKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBzZXR0aW5nIGludCBvcGVyYW5kLlxuIgptc2dzdHIgIk9r5G50IGbkbHQgJWQgdmlkIGluc3TkbGxuaW5nIGF2IGhlbHRhbHNvcGVyYW5kLlxuIgoKIzogZnIzMC1pYmxkLmM6MTQ3MSBmcnYtaWJsZC5jOjIwODMgaXAyay1pYmxkLmM6OTMwIGlxMjAwMC1pYmxkLmM6MTM3MgojOiBtMzJyLWlibGQuYzoxMTc2IG9wZW5yaXNjLWlibGQuYzoxMDAxIHhzdG9ybXkxNi1pYmxkLmM6MTIyNAojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIHNldHRpbmcgdm1hIG9wZXJhbmQuXG4iCm1zZ3N0ciAiT2vkbnQgZuRsdCAlZCB2aWQgaW5zdORsbG5pbmcgYXYgdm1hLW9wZXJhbmQuXG4iCgojOiBmcnYtYXNtLmM6MzY1Cm1zZ2lkICJyZWdpc3RlciBudW1iZXIgbXVzdCBiZSBldmVuIgptc2dzdHIgInJlZ2lzdGVybnVtcmV0IG3lc3RlIHZhcmEgauRtbnQiCgojOiBoODMwMC1kaXMuYzozNzcKIywgYy1mb3JtYXQKbXNnaWQgIkhtbW1tIDB4JXgiCm1zZ3N0ciAiSG1tbW0gMHgleCIKCiM6IGg4MzAwLWRpcy5jOjc2MAojLCBjLWZvcm1hdAptc2dpZCAiRG9uJ3QgdW5kZXJzdGFuZCAweCV4IFxuIgptc2dzdHIgIkb2cnN05XIgaW50ZSAweCV4IFxuIgoKIzogaDg1MDAtZGlzLmM6MTQzCiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW4ndCBjb3BlIHdpdGggaW5zZXJ0ICVkXG4iCm1zZ3N0ciAia2FuIGludGUgc+R0dGEgaW4gJWRcbiIKCiMuIENvdWxkbid0IHVuZGVyc3RhbmQgYW55dGhpbmcuCiM6IGg4NTAwLWRpcy5jOjM1MAojLCBjLWZvcm1hdAptc2dpZCAiJTAyeFx0XHQqdW5rbm93bioiCm1zZ3N0ciAiJTAyeFx0XHQqb2vkbmQqIgoKIzogaTM4Ni1kaXMuYzoxNjk5Cm1zZ2lkICI8aW50ZXJuYWwgZGlzYXNzZW1ibGVyIGVycm9yPiIKbXNnc3RyICI8aW50ZXJudCBmZWwgaSBkaXNhc3NlbWJsZXJhcmVuPiIKCiM6IGlhNjQtZ2VuLmM6Mjk1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogRXJyb3I6ICIKbXNnc3RyICIlczogRmVsOiAiCgojOiBpYTY0LWdlbi5jOjMwOAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IFdhcm5pbmc6ICIKbXNnc3RyICIlczogVmFybmluZzogIgoKIzogaWE2NC1nZW4uYzo0OTQgaWE2NC1nZW4uYzo3MjgKIywgYy1mb3JtYXQKbXNnaWQgIm11bHRpcGxlIG5vdGUgJXMgbm90IGhhbmRsZWRcbiIKbXNnc3RyICJtdWx0aXBlbCBhbnRlY2tuaW5nICVzIGhhbnRlcmFzIGludGVcbiIKCiM6IGlhNjQtZ2VuLmM6NjA1Cm1zZ2lkICJjYW4ndCBmaW5kIGlhNjQtaWMudGJsIGZvciByZWFkaW5nXG4iCm1zZ3N0ciAia2FuIGludGUgaGl0dGEgaWE2NC1pYy50YmwgZvZyIGzkc25pbmdcbiIKCiM6IGlhNjQtZ2VuLmM6ODEwCiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW4ndCBmaW5kICVzIGZvciByZWFkaW5nXG4iCm1zZ3N0ciAia2FuIGludGUgaGl0dGEgJXMgZvZyIGzkc25pbmdcbiIKCiM6IGlhNjQtZ2VuLmM6MTAzNAojLCBjLWZvcm1hdAptc2dpZCAiIgoibW9zdCByZWNlbnQgZm9ybWF0ICclcydcbiIKImFwcGVhcnMgbW9yZSByZXN0cmljdGl2ZSB0aGFuICclcydcbiIKbXNnc3RyICIiCiJhbGxyYSBzZW5hc3RlIGZvcm1hdGV0IFwiJXNcIlxuIgoidmVya2FyIG1lciByZXN0cmlrdGl2dCDkbiBcIiVzXCJcbiIKCiM6IGlhNjQtZ2VuLmM6MTA0NQojLCBjLWZvcm1hdAptc2dpZCAib3ZlcmxhcHBpbmcgZmllbGQgJXMtPiVzXG4iCm1zZ3N0ciAi9nZlcmxhcHBhbmRlIGbkbHQgJXMtPiVzXG4iCgojOiBpYTY0LWdlbi5jOjEyMzYKIywgYy1mb3JtYXQKbXNnaWQgIm92ZXJ3cml0aW5nIG5vdGUgJWQgd2l0aCBub3RlICVkIChJQzolcylcbiIKbXNnc3RyICJza3JpdmVyIPZ2ZXIgYW50ZWNrbmluZyAlZCBtZWQgYW50ZWNrbmluZyAlZCAoSUM6JXMpXG4iCgojOiBpYTY0LWdlbi5jOjE0MzUKIywgYy1mb3JtYXQKbXNnaWQgImRvbid0IGtub3cgaG93IHRvIHNwZWNpZnkgJSUgZGVwZW5kZW5jeSAlc1xuIgptc2dzdHIgInZldCBpbnRlIGh1ciAlJS1iZXJvZW5kZSAlcyBza2EgYW5nZXNcbiIKCiM6IGlhNjQtZ2VuLmM6MTQ1NwojLCBjLWZvcm1hdAptc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gc3BlY2lmeSAjIGRlcGVuZGVuY3kgJXNcbiIKbXNnc3RyICJWZXQgaW50ZSBodXIgIy1iZXJvZW5kZSAlcyBza2EgYW5nZXNcbiIKCiM6IGlhNjQtZ2VuLmM6MTQ5NgojLCBjLWZvcm1hdAptc2dpZCAiSUM6JXMgWyVzXSBoYXMgbm8gdGVybWluYWxzIG9yIHN1Yi1jbGFzc2VzXG4iCm1zZ3N0ciAiSUM6JXMgWyVzXSBoYXIgaW5nYSB0ZXJtaW5hbGVyIGVsbGVyIHVuZGVya2xhc3NlclxuIgoKIzogaWE2NC1nZW4uYzoxNDk5CiMsIGMtZm9ybWF0Cm1zZ2lkICJJQzolcyBoYXMgbm8gdGVybWluYWxzIG9yIHN1Yi1jbGFzc2VzXG4iCm1zZ3N0ciAiSUM6JXMgaGFyIGluZ2EgdGVybWluYWxlciBlbGxlciB1bmRlcmtsYXNzZXJcbiIKCiM6IGlhNjQtZ2VuLmM6MTUwOAojLCBjLWZvcm1hdAptc2dpZCAibm8gaW5zbnMgbWFwcGVkIGRpcmVjdGx5IHRvIHRlcm1pbmFsIElDICVzIFslc10iCm1zZ3N0ciAiaW5nYSBpbnN0cnVrdGlvbmVyIG1hcHBhZGUgZGlyZWt0IHRpbGwgdGVybWluYWwtSUMgJXMgWyVzXSIKCiM6IGlhNjQtZ2VuLmM6MTUxMQojLCBjLWZvcm1hdAptc2dpZCAibm8gaW5zbnMgbWFwcGVkIGRpcmVjdGx5IHRvIHRlcm1pbmFsIElDICVzXG4iCm1zZ3N0ciAiaW5nYSBpbnN0cnVrdGlvbmVyIG1hcHBhZGUgZGlyZWt0IHRpbGwgdGVybWluYWwtSUMgJXNcbiIKCiM6IGlhNjQtZ2VuLmM6MTUyMgojLCBjLWZvcm1hdAptc2dpZCAiY2xhc3MgJXMgaXMgZGVmaW5lZCBidXQgbm90IHVzZWRcbiIKbXNnc3RyICJrbGFzc2VuICVzIORyIGRlZmluaWVyYWQgbWVuIGludGUgYW525G5kXG4iCgojIE1pc3N05G5rdCBwbHVyYWxoYWNrIQojOiBpYTY0LWdlbi5jOjE1MzMKIywgYy1mb3JtYXQKbXNnaWQgIldhcm5pbmc6IHJzcmMgJXMgKCVzKSBoYXMgbm8gY2hrcyVzXG4iCm1zZ3N0ciAiVmFybmluZzogcnNyYyAlcyAoJXMpIGhhciBpbmdhIGtvbnRyb2xsZXIlc1xuIgoKIzogaWE2NC1nZW4uYzoxNTM3CiMsIGMtZm9ybWF0Cm1zZ2lkICJyc3JjICVzICglcykgaGFzIG5vIHJlZ3NcbiIKbXNnc3RyICJyc3JjICVzICglcykgaGFyIGluZ2EgcmVnaXN0ZXJcbiIKCiM6IGlhNjQtZ2VuLmM6MjQzNgojLCBjLWZvcm1hdAptc2dpZCAiSUMgbm90ZSAlZCBpbiBvcGNvZGUgJXMgKElDOiVzKSBjb25mbGljdHMgd2l0aCByZXNvdXJjZSAlcyBub3RlICVkXG4iCm1zZ3N0ciAiIgoiSUMtYW50ZWNrbmluZyAlZCBpIGluc3RydWt0aW9uICVzIChJQzolcykgc3TlciBpIGtvbmZsaWt0IG1lZCByZXN1cnMgJXNcbiIKImFudGVja25pbmcgJWRcbiIKCiM6IGlhNjQtZ2VuLmM6MjQ2NAojLCBjLWZvcm1hdAptc2dpZCAiSUMgbm90ZSAlZCBmb3Igb3Bjb2RlICVzIChJQzolcykgY29uZmxpY3RzIHdpdGggcmVzb3VyY2UgJXMgbm90ZSAlZFxuIgptc2dzdHIgIiIKIklDLWFudGVja25pbmcgJWQgZvZyIGluc3RydWt0aW9uICVzIChJQzolcykgc3TlciBpIGtvbmZsaWt0IG1lZCByZXN1cnMgJXNcbiIKImFudGVja25pbmcgJWRcbiIKCiM6IGlhNjQtZ2VuLmM6MjQ3OAojLCBjLWZvcm1hdAptc2dpZCAib3Bjb2RlICVzIGhhcyBubyBjbGFzcyAob3BzICVkICVkICVkKVxuIgptc2dzdHIgImluc3RydWt0aW9uICVzIGhhciBpbmdlbiBrbGFzcyAob3BlcmF0aW9uZXIgJWQgJWQgJWQpXG4iCgojOiBpYTY0LWdlbi5jOjI3ODkKIywgYy1mb3JtYXQKbXNnaWQgInVuYWJsZSB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvIFwiJXNcIiwgZXJybm8gPSAlc1xuIgptc2dzdHIgImthbiBpbnRlIGJ5dGEga2F0YWxvZyB0aWxsIFwiJXNcIiwgZmVsbnVtbWVyID0gJXNcbiIKCiMuIFdlJ3ZlIGJlZW4gcGFzc2VkIGEgdy4gIFJldHVybiB3aXRoIGFuIGVycm9yIG1lc3NhZ2Ugc28gdGhhdAojLiBjZ2VuIHdpbGwgdHJ5IHRoZSBuZXh0IHBhcnNpbmcgb3B0aW9uLgojOiBpcDJrLWFzbS5jOjkyCm1zZ2lkICJXIGtleXdvcmQgaW52YWxpZCBpbiBGUiBvcGVyYW5kIHNsb3QuIgptc2dzdHIgIlctbnlja2Vsb3JkIG9naWx0aWd0IGkgRlItb3BlcmFuZGx1Y2thLiIKCiMuIEludmFsaWQgb2Zmc2V0IHByZXNlbnQuCiM6IGlwMmstYXNtLmM6MTIyCm1zZ2lkICJvZmZzZXQoSVApIGlzIG5vdCBhIHZhbGlkIGZvcm0iCm1zZ3N0ciAiYXZzdOVuZGV0KElQKSDkciBpbnRlIGVuIGdpbHRpZyBmb3JtIgoKIy4gRm91bmQgc29tZXRoaW5nIHRoZXJlIGluIGZyb250IG9mIChEUCkgYnV0IGl0J3Mgb3V0CiMuIG9mIHJhbmdlLgojOiBpcDJrLWFzbS5jOjE3NQptc2dpZCAiKERQKSBvZmZzZXQgb3V0IG9mIHJhbmdlLiIKbXNnc3RyICIoRFApIGF2c3TlbmRldCDkciB1dGFuZvZyIGludGVydmFsbGV0LiIKCiMuIEZvdW5kIHNvbWV0aGluZyB0aGVyZSBpbiBmcm9udCBvZiAoU1ApIGJ1dCBpdCdzIG91dAojLiBvZiByYW5nZS4KIzogaXAyay1hc20uYzoyMjEKbXNnaWQgIihTUCkgb2Zmc2V0IG91dCBvZiByYW5nZS4iCm1zZ3N0ciAiKFNQKSBhdnN05W5kZXQg5HIgdXRhbmb2ciBpbnRlcnZhbGxldC4iCgojOiBpcDJrLWFzbS5jOjI0MQptc2dpZCAiaWxsZWdhbCB1c2Ugb2YgcGFyZW50aGVzZXMiCm1zZ3N0ciAib3RpbGzldGVuIGFuduRuZG5pbmcgYXYgcGFyZW50ZXNlciIKCiM6IGlwMmstYXNtLmM6MjQ4Cm1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAobm90IGJldHdlZW4gMSBhbmQgMjU1KSIKbXNnc3RyICJvcGVyYW5kZW4gdXRhbmb2ciBpbnRlcnZhbGxldCAoaW50ZSBtZWxsYW4gMSBvY2ggMjU1KSIKCiMuIFNvbWV0aGluZyBpcyB2ZXJ5IHdyb25nLiBvcGluZGV4IGhhcyB0byBiZSBvbmUgb2YgdGhlIGFib3ZlLgojOiBpcDJrLWFzbS5jOjI3Mwptc2dpZCAicGFyc2VfYWRkcjE2OiBpbnZhbGlkIG9waW5kZXguIgptc2dzdHIgInBhcnNlX2FkZHIxNjogb2dpbHRpZ3Qgb3BpbmRleC4iCgojOiBpcDJrLWFzbS5jOjM1Mwptc2dpZCAiQnl0ZSBhZGRyZXNzIHJlcXVpcmVkLiAtIG11c3QgYmUgZXZlbi4iCm1zZ3N0ciAiQnl0ZWFkcmVzcyBrcuR2cyAtIG3lc3RlIHZhcmEgauRtbi4iCgojOiBpcDJrLWFzbS5jOjM2Mgptc2dpZCAiY2dlbl9wYXJzZV9hZGRyZXNzIHJldHVybmVkIGEgc3ltYm9sLiBMaXRlcmFsIHJlcXVpcmVkLiIKbXNnc3RyICJjZ2VuX3BhcnNlX2FkZHJlc3MgcmV0dXJuZXJhZGUgZW4gc3ltYm9sLiBMaXRlcmFsIGty5HZzLiIKCiM6IGlwMmstYXNtLmM6NDIwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlb3BlcmF0b3Igb3BlcmFuZCBpcyBub3QgYSBzeW1ib2wiCm1zZ3N0ciAiJW9wZXJhdG9yLW9wZXJhbmQg5HIgaW50ZSBlbiBzeW1ib2wiCgojOiBpcDJrLWFzbS5jOjQ3NAptc2dpZCAiQXR0ZW1wdCB0byBmaW5kIGJpdCBpbmRleCBvZiAwIgptc2dzdHIgIkb2cnP2ayBhdHQgaGl0dGEgMC1iaXRpbmRleCIKCiM6IGlxMjAwMC1hc20uYzoxMTAgaXEyMDAwLWFzbS5jOjE0MQptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIGNhbm5vdCBiZSByZWdpc3RlciIKbXNnc3RyICJvbWVkZWxiYXJ0IHbkcmRlIGthbiBpbnRlIHZhcmEgcmVnaXN0ZXIiCgojOiBpcTIwMDAtYXNtLmM6MTIwIGlxMjAwMC1hc20uYzoxNTEKbXNnaWQgImltbWVkaWF0ZSB2YWx1ZSBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAib21lZGVsYmFydCB25HJkZSDkciB1dGFuZvZyIGludGVydmFsbGV0IgoKIzogaXEyMDAwLWFzbS5jOjE4MAptc2dpZCAiMjEtYml0IG9mZnNldCBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAiMjEtYml0YXJzIGF2c3TlbmQgdXRhbmb2ciBpbnRlcnZhbGxldCIKCiM6IGlxMjAwMC1hc20uYzoyMDUgaXEyMDAwLWFzbS5jOjIzNSBpcTIwMDAtYXNtLmM6MjcyIGlxMjAwMC1hc20uYzozMDUKIzogb3BlbnJpc2MtYXNtLmM6OTYgb3BlbnJpc2MtYXNtLmM6MTU1Cm1zZ2lkICJtaXNzaW5nIGApJyIKbXNnc3RyICJcIilcIiBzYWtuYXMiCgojOiBtMTAyMDAtZGlzLmM6MTk5CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duXHQweCUwMngiCm1zZ3N0ciAib2vkbmRcdDB4JTAyeCIKCiM6IG0xMDIwMC1kaXMuYzozMzkKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd25cdDB4JTA0bHgiCm1zZ3N0ciAib2vkbmRcdDB4JTA0bHgiCgojOiBtMTAzMDAtZGlzLmM6NzY2CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duXHQweCUwNHgiCm1zZ3N0ciAib2vkbmRcdDB4JTA0eCIKCiM6IG02OGstZGlzLmM6NDI5CiMsIGMtZm9ybWF0Cm1zZ2lkICI8aW50ZXJuYWwgZXJyb3IgaW4gb3Bjb2RlIHRhYmxlOiAlcyAlcz5cbiIKbXNnc3RyICI8aW50ZXJudCBmZWwgaSBpbnN0cnVrdGlvbnN0YWJlbGxlbjogJXMgJXM+XG4iCgojOiBtNjhrLWRpcy5jOjEwMDcKIywgYy1mb3JtYXQKbXNnaWQgIjxmdW5jdGlvbiBjb2RlICVkPiIKbXNnc3RyICI8ZnVua3Rpb25za29kICVkPiIKCiM6IG04OGstZGlzLmM6NzQ2CiMsIGMtZm9ybWF0Cm1zZ2lkICIjIDxkaXMgZXJyb3I6ICUwOHg+Igptc2dzdHIgIiMgPGRpc2Fzc2VtYmxlcmFyZmVsOiAlMDh4PiIKCiM6IG1pcHMtZGlzLmM6Njk5Cm1zZ2lkICIjIGludGVybmFsIGVycm9yLCBpbmNvbXBsZXRlIGV4dGVuc2lvbiBzZXF1ZW5jZSAoKykiCm1zZ3N0ciAiIyBpbnRlcm50IGZlbCwgb2Z1bGxzdORuZGlnIORuZGVsc2VzZWt2ZW5zICgrKSIKCiM6IG1pcHMtZGlzLmM6NzQyCiMsIGMtZm9ybWF0Cm1zZ2lkICIjIGludGVybmFsIGVycm9yLCB1bmRlZmluZWQgZXh0ZW5zaW9uIHNlcXVlbmNlICgrJWMpIgptc2dzdHIgIiMgaW50ZXJudCBmZWwsIG9kZWZpbmllcmFkIORuZGVsc2VzZWt2ZW5zICgrJWMpIgoKIzogbWlwcy1kaXMuYzoxMDAwCiMsIGMtZm9ybWF0Cm1zZ2lkICIjIGludGVybmFsIGVycm9yLCB1bmRlZmluZWQgbW9kaWZpZXIoJWMpIgptc2dzdHIgIiMgaW50ZXJudCBmZWwsIG9r5G5kIG1vZGlmaWVyYXJlKCVjKSIKCiM6IG1pcHMtZGlzLmM6MTc1MQojLCBjLWZvcm1hdAptc2dpZCAiIyBpbnRlcm5hbCBkaXNhc3NlbWJsZXIgZXJyb3IsIHVucmVjb2duaXNlZCBtb2RpZmllciAoJWMpIgptc2dzdHIgIiMgaW50ZXJudCBkaXNhc3NlbWJsZXJmZWwsIG9r5G5kIG1vZGlmaWVyYXJlICglYykiCgojOiBtaXBzLWRpcy5jOjE3NjMKbXNnaWQgIiIKIlxuIgoiVGhlIGZvbGxvd2luZyBNSVBTIHNwZWNpZmljIGRpc2Fzc2VtYmxlciBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIHVzZVxuIgoid2l0aCB0aGUgLU0gc3dpdGNoIChtdWx0aXBsZSBvcHRpb25zIHNob3VsZCBiZSBzZXBhcmF0ZWQgYnkgY29tbWFzKTpcbiIKbXNnc3RyICIiCiJcbiIKIkb2bGphbmRlIE1JUFMtc3BlY2lmaWthIGRpc2Fzc2VtYmxlcmFsdGVybmF0aXYgc3T2ZHMgZvZyIGFuduRuZG5pbmdcbiIKInRpbGxzYW1tYW5zIG1lZCBmbGFnZ2FuIC1NIChmbGVyYSBhbHRlcm5hdGl2IGthbiBza2lsamFzIOV0IG1lZCBrb21tYW4pOlxuIgoKIzogbWlwcy1kaXMuYzoxNzY3Cm1zZ2lkICIiCiJcbiIKIiAgZ3ByLW5hbWVzPUFCSSAgICAgICAgICAgIFByaW50IEdQUiBuYW1lcyBhY2NvcmRpbmcgdG8gIHNwZWNpZmllZCBBQkkuXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0OiBiYXNlZCBvbiBiaW5hcnkgYmVpbmcgZGlzYXNzZW1ibGVkLlxuIgptc2dzdHIgIiIKIlxuIgoiICBncHItbmFtZXM9QUJJICAgICAgICAgICAgU2tyaXYgdXQgR1BSLW5hbW4gZW5saWd0IGRldCBhbmdpdm5hIEFCSTp0LlxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmRhcmQ6IGJhc2VyYXQgcOUgZGVuIGJpbuRyZmlsIHNvbVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYXNzZW1ibGVyYXMuXG4iCgojOiBtaXBzLWRpcy5jOjE3NzEKbXNnaWQgIiIKIlxuIgoiICBmcHItbmFtZXM9QUJJICAgICAgICAgICAgUHJpbnQgRlBSIG5hbWVzIGFjY29yZGluZyB0byBzcGVjaWZpZWQgQUJJLlxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdDogbnVtZXJpYy5cbiIKbXNnc3RyICIiCiJcbiIKIiAgZnByLW5hbWVzPUFCSSAgICAgICAgICAgIFNrcml2IHV0IEZQUi1uYW1uIGVubGlndCBkZXQgYW5naXZuYSBBQkk6dC5cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YW5kYXJkOiBudW1lcmlza3QuXG4iCgojOiBtaXBzLWRpcy5jOjE3NzUKbXNnaWQgIiIKIlxuIgoiICBjcDAtbmFtZXM9QVJDSCAgICAgICAgICAgUHJpbnQgQ1AwIHJlZ2lzdGVyIG5hbWVzIGFjY29yZGluZyB0b1xuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVkIGFyY2hpdGVjdHVyZS5cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQ6IGJhc2VkIG9uIGJpbmFyeSBiZWluZyBkaXNhc3NlbWJsZWQuXG4iCm1zZ3N0ciAiIgoiXG4iCiIgIGNwMC1uYW1lcz1BUksgICAgICAgICAgICBTa3JpdiB1dCBDUDAtcmVnaXN0ZXJuYW1uIGVubGlndCBkZW4gYW5naXZuYVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJraXRla3R1cmVuLlxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmRhcmQ6IGJhc2VyYXQgcOUgZGVuIGJpbuRyZmlsIHNvbVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYXNzZW1ibGVyYXMuXG4iCgojOiBtaXBzLWRpcy5jOjE3ODAKbXNnaWQgIiIKIlxuIgoiICBod3ItbmFtZXM9QVJDSCAgICAgICAgICAgUHJpbnQgSFdSIG5hbWVzIGFjY29yZGluZyB0byBzcGVjaWZpZWQgXG4iCiJcdFx0XHQgICBhcmNoaXRlY3R1cmUuXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0OiBiYXNlZCBvbiBiaW5hcnkgYmVpbmcgZGlzYXNzZW1ibGVkLlxuIgptc2dzdHIgIiIKIlxuIgoiICBod3ItbmFtZXM9QVJLICAgICAgICAgICAgU2tyaXYgdXQgSFdSLW5hbW4gZW5saWd0IGRlbiBhbmdpdm5hIFxuIgoiXHRcdFx0ICAgYXJraXRla3R1cmVuLlxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmRhcmQ6IGJhc2VyYXQgcOUgZGVuIGJpbuRyZmlsIHNvbVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYXNzZW1ibGVyYXMuXG4iCgojOiBtaXBzLWRpcy5jOjE3ODUKbXNnaWQgIiIKIlxuIgoiICByZWctbmFtZXM9QUJJICAgICAgICAgICAgUHJpbnQgR1BSIGFuZCBGUFIgbmFtZXMgYWNjb3JkaW5nIHRvXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpZWQgQUJJLlxuIgptc2dzdHIgIiIKIlxuIgoiICByZWctbmFtZXM9QUJJICAgICAgICAgICAgU2tyaXYgdXQgR1BSLSBvY2ggRlBSLW5hbW4gZW5saWd0IGRldCBhbmdpdm5hXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBBQkk6dC5cbiIKCiM6IG1pcHMtZGlzLmM6MTc4OQptc2dpZCAiIgoiXG4iCiIgIHJlZy1uYW1lcz1BUkNIICAgICAgICAgICBQcmludCBDUDAgcmVnaXN0ZXIgYW5kIEhXUiBuYW1lcyBhY2NvcmRpbmcgdG9cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmllZCBhcmNoaXRlY3R1cmUuXG4iCm1zZ3N0ciAiIgoiXG4iCiIgIHJlZy1uYW1lcz1BUksgICAgICAgICAgICBTa3JpdiB1dCBDUDAtcmVnaXN0ZXIgbWVkIEhXUi1uYW1uIGVubGlndFxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5naXZlbiBhcmtpdGVrdHVyLlxuIgoKIzogbWlwcy1kaXMuYzoxNzkzCm1zZ2lkICIiCiJcbiIKIiAgRm9yIHRoZSBvcHRpb25zIGFib3ZlLCB0aGUgZm9sbG93aW5nIHZhbHVlcyBhcmUgc3VwcG9ydGVkIGZvciBcIkFCSVwiOlxuIgoiICAgIgptc2dzdHIgIiIKIlxuIgoiICBG9nIgZmxhZ2dvcm5hIG92YW4gc3T2ZHMgZvZsamFuZGUgduRyZGVuIHDlIFwiQUJJXCI6XG4iCiIgICAiCgojOiBtaXBzLWRpcy5jOjE3OTggbWlwcy1kaXMuYzoxODA2IG1pcHMtZGlzLmM6MTgwOAptc2dpZCAiXG4iCm1zZ3N0ciAiXG4iCgojOiBtaXBzLWRpcy5jOjE4MDAKbXNnaWQgIiIKIlxuIgoiICBGb3IgdGhlIG9wdGlvbnMgYWJvdmUsIFRoZSBmb2xsb3dpbmcgdmFsdWVzIGFyZSBzdXBwb3J0ZWQgZm9yIFwiQVJDSFwiOlxuIgoiICAgIgptc2dzdHIgIiIKIlxuIgoiICBG9nIgZmxhZ2dvcm5hIG92YW4gc3T2ZHMgZvZsamFuZGUgduRyZGVuIHDlIFwiQVJLXCI6XG4iCiIgICAiCgojOiBtbWl4LWRpcy5jOjM0CiMsIGMtZm9ybWF0Cm1zZ2lkICJCYWQgY2FzZSAlZCAoJXMpIGluICVzOiVkXG4iCm1zZ3N0ciAiRmVsYWt0aWd0IGZhbGwgJWQgKCVzKSBpICVzOiVkXG4iCgojOiBtbWl4LWRpcy5jOjQ0CiMsIGMtZm9ybWF0Cm1zZ2lkICJJbnRlcm5hbDogTm9uLWRlYnVnZ2VkIGNvZGUgKHRlc3QtY2FzZSBtaXNzaW5nKTogJXM6JWQiCm1zZ3N0ciAiSW50ZXJudDogRWogZmVsc/ZrdCBrb2QgKHRlc3RmYWxsIHNha25hcyk6ICVzOiVkIgoKIzogbW1peC1kaXMuYzo1Mwptc2dpZCAiKHVua25vd24pIgptc2dzdHIgIihva+RuZCkiCgojOiBtbWl4LWRpcy5jOjUxOQojLCBjLWZvcm1hdAptc2dpZCAiKnVua25vd24gb3BlcmFuZHMgdHlwZTogJWQqIgptc2dzdHIgIipva+RuZCBvcGVyYW5kdHlwOiAlZCoiCgojLiBJIGFuZCBaIGFyZSBvdXRwdXQgb3BlcmFuZHMgYW5kIGNhbmB0IGJlIGltbWVkaWF0ZQojLiAqIEEgaXMgYW4gYWRkcmVzcyBhbmQgd2UgY2FuYHQgaGF2ZSB0aGUgYWRkcmVzcyBvZgojLiAqIGFuIGltbWVkaWF0ZSBlaXRoZXIuIFdlIGRvbid0IGtub3cgaG93IG11Y2ggdG8gaW5jcmVhc2UKIy4gKiBhb2Zmc2V0cCBieSBzaW5jZSB3aGF0ZXZlciBnZW5lcmF0ZWQgdGhpcyBpcyBicm9rZW4KIy4gKiBhbnl3YXkhCiMuCiM6IG5zMzJrLWRpcy5jOjYzMQptc2dpZCAiJDx1bmRlZmluZWQ+Igptc2dzdHIgIiQ8b2RlZmluaWVyYWQ+IgoKIzogcHBjLW9wYy5jOjc4MSBwcGMtb3BjLmM6ODA5Cm1zZ2lkICJpbnZhbGlkIGNvbmRpdGlvbmFsIG9wdGlvbiIKbXNnc3RyICJvZ2lsdGlnIHZpbGxrb3JsaWcgZmxhZ2dhIgoKIzogcHBjLW9wYy5jOjgxMQptc2dpZCAiYXR0ZW1wdCB0byBzZXQgeSBiaXQgd2hlbiB1c2luZyArIG9yIC0gbW9kaWZpZXIiCm1zZ3N0ciAiZvZyc/ZrIGF0dCBzdORsbGEgaW4geS1iaXRlbiBk5SBtb2RpZmllcmFyZW4gKyBlbGxlciAtIGFuduRuZGVzIgoKIzogcHBjLW9wYy5jOjg0MAptc2dpZCAib2Zmc2V0IG5vdCBhIG11bHRpcGxlIG9mIDE2Igptc2dzdHIgImF2c3TlbmRldCDkciBpbnRlIGVuIG11bHRpcGVsIGF2IDE2IgoKIzogcHBjLW9wYy5jOjg2MAptc2dpZCAib2Zmc2V0IG5vdCBhIG11bHRpcGxlIG9mIDIiCm1zZ3N0ciAiYXZzdOVuZGV0IORyIGludGUgZW4gbXVsdGlwZWwgYXYgMiIKCiM6IHBwYy1vcGMuYzo4NjIKbXNnaWQgIm9mZnNldCBncmVhdGVyIHRoYW4gNjIiCm1zZ3N0ciAiYXZzdOVuZGV0IORyIHN09nJyZSDkbiA2MiIKCiM6IHBwYy1vcGMuYzo4ODEgcHBjLW9wYy5jOjkyNyBwcGMtb3BjLmM6OTc1Cm1zZ2lkICJvZmZzZXQgbm90IGEgbXVsdGlwbGUgb2YgNCIKbXNnc3RyICJhdnN05W5kZXQg5HIgaW50ZSBlbiBtdWx0aXBlbCBhdiA0IgoKIzogcHBjLW9wYy5jOjg4Mwptc2dpZCAib2Zmc2V0IGdyZWF0ZXIgdGhhbiAxMjQiCm1zZ3N0ciAiYXZzdOVuZGV0IORyIHN09nJyZSDkbiAxMjQiCgojOiBwcGMtb3BjLmM6OTAyCm1zZ2lkICJvZmZzZXQgbm90IGEgbXVsdGlwbGUgb2YgOCIKbXNnc3RyICJhdnN05W5kZXQg5HIgaW50ZSBlbiBtdWx0aXBlbCBhdiA4IgoKIzogcHBjLW9wYy5jOjkwNAptc2dpZCAib2Zmc2V0IGdyZWF0ZXIgdGhhbiAyNDgiCm1zZ3N0ciAiYXZzdOVuZGV0IORyIHN09nJyZSDkbiAyNDgiCgojOiBwcGMtb3BjLmM6OTUwCm1zZ2lkICJvZmZzZXQgbm90IGJldHdlZW4gLTIwNDggYW5kIDIwNDciCm1zZ3N0ciAiYXZzdOVuZGV0IORyIGludGUgbWVsbGFuIC0yMDQ4IG9jaCAyMDQ3IgoKIzogcHBjLW9wYy5jOjk3Mwptc2dpZCAib2Zmc2V0IG5vdCBiZXR3ZWVuIC04MTkyIGFuZCA4MTkxIgptc2dzdHIgImF2c3TlbmRldCDkciBpbnRlIG1lbGxhbiAtODE5MiBvY2ggODE5MSIKCiM6IHBwYy1vcGMuYzoxMDExCm1zZ2lkICJpZ25vcmluZyBpbnZhbGlkIG1mY3IgbWFzayIKbXNnc3RyICJpZ25vcmVyYXIgb2dpbHRpZyBtZmNyLW1hc2siCgojOiBwcGMtb3BjLmM6MTA1OQptc2dpZCAiaWdub3JpbmcgbGVhc3Qgc2lnbmlmaWNhbnQgYml0cyBpbiBicmFuY2ggb2Zmc2V0Igptc2dzdHIgImlnbm9yZXJhciBtaW5zdCBzaWduaWZpa2FudGEgYml0YXJuYSBpIGdyZW5hdnN05W5kIgoKIzogcHBjLW9wYy5jOjEwOTAgcHBjLW9wYy5jOjExMjUKbXNnaWQgImlsbGVnYWwgYml0bWFzayIKbXNnc3RyICJvdGlsbOV0ZW4gYml0bWFzayIKCiM6IHBwYy1vcGMuYzoxMTkyCm1zZ2lkICJ2YWx1ZSBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAiduRyZGV0IORyIHV0YW5m9nIgaW50ZXJ2YWxsZXQiCgojOiBwcGMtb3BjLmM6MTI2Mgptc2dpZCAiaW5kZXggcmVnaXN0ZXIgaW4gbG9hZCByYW5nZSIKbXNnc3RyICJpbmRleHJlZ2lzdHJldCDkciBpIGlubORzbmluZ3NpbnRlcnZhbGxldCIKCiM6IHBwYy1vcGMuYzoxMjc5Cm1zZ2lkICJzb3VyY2UgYW5kIHRhcmdldCByZWdpc3RlciBvcGVyYW5kcyBtdXN0IGJlIGRpZmZlcmVudCIKbXNnc3RyICJr5GxsLSBvY2ggbeVscmVnaXN0ZXJvcGVyYW5kZXIgbeVzdGUgdmFyYSBvbGlrYSIKCiM6IHBwYy1vcGMuYzoxMjk0Cm1zZ2lkICJpbnZhbGlkIHJlZ2lzdGVyIG9wZXJhbmQgd2hlbiB1cGRhdGluZyIKbXNnc3RyICJvZ2lsdGlnIHJlZ2lzdGVyb3BlcmFuZCB2aWQgdXBwZGF0ZXJpbmciCgojOiBwcGMtb3BjLmM6MTMzNQptc2dpZCAidGFyZ2V0IHJlZ2lzdGVyIG9wZXJhbmQgbXVzdCBiZSBldmVuIgptc2dzdHIgIm3lbHJlZ2lzdGVyb3BlcmFuZCBt5XN0ZSB2YXJhIGrkbW4iCgojOiBwcGMtb3BjLmM6MTM1MAptc2dpZCAic291cmNlIHJlZ2lzdGVyIG9wZXJhbmQgbXVzdCBiZSBldmVuIgptc2dzdHIgImvkbGxyZWdpc3Rlcm9wZXJhbmQgbeVzdGUgdmFyYSBq5G1uIgoKIy4gTWFyayBhcyBub24tdmFsaWQgaW5zdHJ1Y3Rpb24uCiM6IHNwYXJjLWRpcy5jOjc2MAptc2dpZCAidW5rbm93biIKbXNnc3RyICJva+RuZCIKCiM6IHNwYXJjLWRpcy5jOjgzNQojLCBjLWZvcm1hdAptc2dpZCAiSW50ZXJuYWwgZXJyb3I6ICBiYWQgc3BhcmMtb3Bjb2RlLmg6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKbXNnc3RyICJJbnRlcm50IGZlbDogIGZlbGFrdGlnIHNwYXJjLW9wY29kZS5oOiBcIiVzXCIsICUjLjhseCwgJSMuOGx4XG4iCgojOiBzcGFyYy1kaXMuYzo4NDYKIywgYy1mb3JtYXQKbXNnaWQgIkludGVybmFsIGVycm9yOiBiYWQgc3BhcmMtb3Bjb2RlLmg6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKbXNnc3RyICJJbnRlcm50IGZlbDogZmVsYWt0aWcgc3BhcmMtb3Bjb2RlLmg6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKCiM6IHNwYXJjLWRpcy5jOjg5NQojLCBjLWZvcm1hdAptc2dpZCAiSW50ZXJuYWwgZXJyb3I6IGJhZCBzcGFyYy1vcGNvZGUuaDogXCIlc1wiID09IFwiJXNcIlxuIgptc2dzdHIgIkludGVybnQgZmVsOiBmZWxha3RpZyBzcGFyYy1vcGNvZGUuaDogXCIlc1wiID09IFwiJXNcIlxuIgoKIzogdjg1MC1kaXMuYzoyMjEKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gb3BlcmFuZCBzaGlmdDogJXhcbiIKbXNnc3RyICJva+RudCBvcGVyYW5kc2tpZnRlOiAleFxuIgoKIzogdjg1MC1kaXMuYzoyMzMKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gcG9wIHJlZzogJWRcbiIKbXNnc3RyICJva+RudCBwb3AtcmVnaXN0ZXI6ICVkXG4iCgojLiBUaGUgZnVuY3Rpb25zIHVzZWQgdG8gaW5zZXJ0IGFuZCBleHRyYWN0IGNvbXBsaWNhdGVkIG9wZXJhbmRzLgojLiBOb3RlOiBUaGVyZSBpcyBhIGNvbnNwaXJhY3kgYmV0d2VlbiB0aGVzZSBmdW5jdGlvbnMgYW5kCiMuIHY4NTBfaW5zZXJ0X29wZXJhbmQoKSBpbiBnYXMvY29uZmlnL3RjLXY4NTAuYy4gIEVycm9yIG1lc3NhZ2VzCiMuIGNvbnRhaW5pbmcgdGhlIHN0cmluZyAnb3V0IG9mIHJhbmdlJyB3aWxsIGJlIGlnbm9yZWQgdW5sZXNzIGEKIy4gc3BlY2lmaWMgY29tbWFuZCBsaW5lIG9wdGlvbiBpcyBnaXZlbiB0byBHQVMuCiM6IHY4NTAtb3BjLmM6NjgKbXNnaWQgImRpc3BsYWNlbWVudCB2YWx1ZSBpcyBub3QgaW4gcmFuZ2UgYW5kIGlzIG5vdCBhbGlnbmVkIgptc2dzdHIgImb2cnNranV0bmluZ3N25HJkZXQg5HIgaW50ZSBpbm9tIGludGVydmFsbGV0IG9jaCBsaWdnZXIgaW50ZSBw5SBq5G1uIGdy5G5zIgoKIzogdjg1MC1vcGMuYzo2OQptc2dpZCAiZGlzcGxhY2VtZW50IHZhbHVlIGlzIG91dCBvZiByYW5nZSIKbXNnc3RyICJm9nJza2p1dG5pbmdzduRyZGV0IORyIHV0YW5m9nIgaW50ZXJ2YWxsZXQiCgojOiB2ODUwLW9wYy5jOjcwCm1zZ2lkICJkaXNwbGFjZW1lbnQgdmFsdWUgaXMgbm90IGFsaWduZWQiCm1zZ3N0ciAiZvZyc2tqdXRuaW5nc3bkcmRldCBsaWdnZXIgaW50ZSBw5SBq5G1uIGdy5G5zIgoKIzogdjg1MC1vcGMuYzo3Mgptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIGlzIG91dCBvZiByYW5nZSIKbXNnc3RyICJvbWVkZWxiYXJhIHbkcmRldCDkciB1dGFuZvZyIGludGVydmFsbGV0IgoKIzogdjg1MC1vcGMuYzo4Mwptc2dpZCAiYnJhbmNoIHZhbHVlIG5vdCBpbiByYW5nZSBhbmQgdG8gb2RkIG9mZnNldCIKbXNnc3RyICJncmVuduRyZGV0IORyIGludGUgaW5vbSBpbnRlcnZhbGxldCBvY2ggdGlsbCBldHQgdWRkYSBhdnN05W5kIgoKIzogdjg1MC1vcGMuYzo4NSB2ODUwLW9wYy5jOjExNwptc2dpZCAiYnJhbmNoIHZhbHVlIG91dCBvZiByYW5nZSIKbXNnc3RyICJncmVuduRyZGV0IORyIHV0YW5m9nIgaW50ZXJ2YWxsZXQiCgojOiB2ODUwLW9wYy5jOjg4IHY4NTAtb3BjLmM6MTIwCm1zZ2lkICJicmFuY2ggdG8gb2RkIG9mZnNldCIKbXNnc3RyICJncmVuaW5nIHRpbGwgdWRkYSBhdnN05W5kIgoKIzogdjg1MC1vcGMuYzoxMTUKbXNnaWQgImJyYW5jaCB2YWx1ZSBub3QgaW4gcmFuZ2UgYW5kIHRvIGFuIG9kZCBvZmZzZXQiCm1zZ3N0ciAiZ3JlbnbkcmRldCDkciBpbnRlIGlub20gaW50ZXJ2YWxsZXQgb2NoIHRpbGwgZXR0IHVkZGEgYXZzdOVuZCIKCiM6IHY4NTAtb3BjLmM6MzQ2Cm1zZ2lkICJpbnZhbGlkIHJlZ2lzdGVyIGZvciBzdGFjayBhZGp1c3RtZW50Igptc2dzdHIgIm9naWx0aWd0IHJlZ2lzdGVyIGb2ciBzdGFja2p1c3RlcmluZyIKCiM6IHY4NTAtb3BjLmM6MzcwCm1zZ2lkICJpbW1lZGlhdGUgdmFsdWUgbm90IGluIHJhbmdlIGFuZCBub3QgZXZlbiIKbXNnc3RyICJvbWVkZWxiYXJhIHbkcmRldCDkciBpbnRlIGlub20gaW50ZXJ2YWxsZXQgb2NoIGludGUgauRtbnQiCgojOiB2ODUwLW9wYy5jOjM3NQptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIG11c3QgYmUgZXZlbiIKbXNnc3RyICJvbWVkZWxiYXJhIHbkcmRldCBt5XN0ZSB2YXJhIGrkbW50IgoKIzogeHN0b3JteTE2LWFzbS5jOjc2Cm1zZ2lkICJCYWQgcmVnaXN0ZXIgaW4gcHJlaW5jcmVtZW50Igptc2dzdHIgIkZlbGFrdGlndCByZWdpc3RlciBpIGb2cmhhbmRz9mtuaW5nIgoKIzogeHN0b3JteTE2LWFzbS5jOjgxCm1zZ2lkICJCYWQgcmVnaXN0ZXIgaW4gcG9zdGluY3JlbWVudCIKbXNnc3RyICJGZWxha3RpZ3QgcmVnaXN0ZXIgaSBlZnRlcmhhbmRz9mtuaW5nIgoKIzogeHN0b3JteTE2LWFzbS5jOjgzCm1zZ2lkICJCYWQgcmVnaXN0ZXIgbmFtZSIKbXNnc3RyICJGZWxha3RpZ3QgcmVnaXN0ZXJuYW1uIgoKIzogeHN0b3JteTE2LWFzbS5jOjg3Cm1zZ2lkICJMYWJlbCBjb25mbGljdHMgd2l0aCByZWdpc3RlciBuYW1lIgptc2dzdHIgIkV0aWtldHRlbiBzdOVyIGkga29uZmxpa3QgbWVkIHJlZ2lzdGVybmFtbiIKCiM6IHhzdG9ybXkxNi1hc20uYzo5MQptc2dpZCAiTGFiZWwgY29uZmxpY3RzIHdpdGggYFJ4JyIKbXNnc3RyICJFdGlrZXR0ZW4gc3TlciBpIGtvbmZsaWt0IG1lZCBcIlJ4XCIiCgojOiB4c3Rvcm15MTYtYXNtLmM6OTMKbXNnaWQgIkJhZCBpbW1lZGlhdGUgZXhwcmVzc2lvbiIKbXNnc3RyICJGZWxha3RpZ3Qgb21lZGVsYmFydCB1dHRyeWNrIgoKIzogeHN0b3JteTE2LWFzbS5jOjExNQptc2dpZCAiTm8gcmVsb2NhdGlvbiBmb3Igc21hbGwgaW1tZWRpYXRlIgptc2dzdHIgIkluZ2VuIG9tbG9rYWxpc2VyaW5nIGb2ciBsaXRldCBvbWVkZWxiYXJ0IHRhbCIKCiM6IHhzdG9ybXkxNi1hc20uYzoxMjUKbXNnaWQgIlNtYWxsIG9wZXJhbmQgd2FzIG5vdCBhbiBpbW1lZGlhdGUgbnVtYmVyIgptc2dzdHIgIkxpdGVuIG9wZXJhbmQgdmFyIGludGUgZXR0IG9tZWRlbGJhcnQgdGFsIgoKIzogeHN0b3JteTE2LWFzbS5jOjE2NAptc2dpZCAiT3BlcmFuZCBpcyBub3QgYSBzeW1ib2wiCm1zZ3N0ciAiT3BlcmFuZGVuIORyIGludGUgZW4gc3ltYm9sIgoKIzogeHN0b3JteTE2LWFzbS5jOjE3Mgptc2dpZCAiU3ludGF4IGVycm9yOiBObyB0cmFpbGluZyAnKSciCm1zZ3N0ciAiU3ludGF4ZmVsOiBJbmdldCBlZnRlcnNs5HBhbmRlIFwiKVwiIgoKI34gbXNnaWQgIkhtbW1tICV4IgojfiBtc2dzdHIgIkhtbW1tICV4IgoKI34gbXNnaWQgIkRvbid0IHVuZGVyc3RhbmQgJXggXG4iCiN+IG1zZ3N0ciAiRvZyc3TlciBpbnRlICV4IFxuIgoKI34gbXNnaWQgIk5vIHJlbG9jYXRpb24gZm9yIHNtYWxsIGltbWVkaWF0ZSBudW1iZXIiCiN+IG1zZ3N0ciAiSW5nZW4gb21sb2thbGlzZXJpbmcgZvZyIGxpdGV0IG9tZWRlbGJhcnQgdGFsIgoKI34gbXNnaWQgInVucmVjb2duaXplZCBrZXl3b3JkL3JlZ2lzdGVyIG5hbWUiCiN+IG1zZ3N0ciAib2vkbnQgbmFtbiBw5SBueWNrZWxvcmQvcmVnaXN0ZXIiCg==