IyBTd2VkaXNoIG1lc3NhZ2VzIGZvciBvcGNvZGVzLgojIENvcHlyaWdodCAoQykgMjAwMSwgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBDaHJpc3RpYW4gUm9zZSA8bWVudGhvc0BtZW50aG9zLmNvbT4sIDIwMDEsIDIwMDIuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IG9wY29kZXMgMi4xMi45MVxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDItMDctMjMgMTU6NTUtMDQwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0wOC0wMyAxMzoxOSswMjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IENocmlzdGlhbiBSb3NlIDxtZW50aG9zQG1lbnRob3MuY29tPlxuIgoiTGFuZ3VhZ2UtVGVhbTogU3dlZGlzaCA8c3ZAbGkub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1pc28tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojOiBhbHBoYS1vcGMuYzozMzUKbXNnaWQgImJyYW5jaCBvcGVyYW5kIHVuYWxpZ25lZCIKbXNnc3RyICJncmVub3BlcmFuZGVuIGxpZ2dlciBpbnRlIHDlIGrkbW4gZ3LkbnMiCgojOiBhbHBoYS1vcGMuYzozNTggYWxwaGEtb3BjLmM6MzgwCm1zZ2lkICJqdW1wIGhpbnQgdW5hbGlnbmVkIgptc2dzdHIgImhvcHB0aXBzZXQgbGlnZ2VyIGludGUgcOUgauRtbiBncuRucyIKCiM6IGFyYy1kaXMuYzo1Mgptc2dpZCAiSWxsZWdhbCBsaW1tIHJlZmVyZW5jZSBpbiBsYXN0IGluc3RydWN0aW9uIVxuIgptc2dzdHIgIk90aWxs5XRlbiBsaW1tLXJlZmVyZW5zIGkgc2lzdGEgaW5zdHJ1a3Rpb25lbiFcbiIKCiM6IGFybS1kaXMuYzo1MDcKbXNnaWQgIjxpbGxlZ2FsIHByZWNpc2lvbj4iCm1zZ3N0ciAiPG90aWxs5XRlbiBwcmVjaXNpb24+IgoKIzogYXJtLWRpcy5jOjEwMTAKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXNlZCByZWdpc3RlciBuYW1lIHNldDogJXNcbiIKbXNnc3RyICJPa+RudCByZWdpc3Rlcm5hbW4g5HIgYW5naXZldDogJXNcbiIKCiM6IGFybS1kaXMuYzoxMDE3CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbmlzZWQgZGlzYXNzZW1ibGVyIG9wdGlvbjogJXNcbiIKbXNnc3RyICJPa+RudCBkaXNhc3NlbWJsZXJhbHRlcm5hdGl2OiAlc1xuIgoKIzogYXJtLWRpcy5jOjExOTEKbXNnaWQgIiIKIlxuIgoiVGhlIGZvbGxvd2luZyBBUk0gc3BlY2lmaWMgZGlzYXNzZW1ibGVyIG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgdXNlIHdpdGhcbiIKInRoZSAtTSBzd2l0Y2g6XG4iCm1zZ3N0ciAiIgoiXG4iCiJG9mxqYW5kZSBBUk0tc3BlY2lmaWthIGRpc2Fzc2VtYmxlcmFsdGVybmF0aXYgc3T2ZHMgZvZyIGFuduRuZG5pbmdcbiIKInRpbGxzYW1tYW5zIG1lZCBmbGFnZ2FuIC1NOlxuIgoKIzogYXZyLWRpcy5jOjExOCBhdnItZGlzLmM6MTI4Cm1zZ2lkICJ1bmRlZmluZWQiCm1zZ3N0ciAib2RlZmluaWVyYWQiCgojOiBhdnItZGlzLmM6MTgwCm1zZ2lkICJJbnRlcm5hbCBkaXNhc3NlbWJsZXIgZXJyb3IiCm1zZ3N0ciAiSW50ZXJudCBmZWwgaSBkaXNhc3NlbWJsZXJhcmVuIgoKIzogYXZyLWRpcy5jOjIyOAojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93biBjb25zdHJhaW50IGAlYyciCm1zZ3N0ciAib2vkbmQgYmVncuRuc25pbmcgXCIlY1wiIgoKIzogY2dlbi1hc20uYzozNDYgZnIzMC1pYmxkLmM6MTk1IGZydi1pYmxkLmM6MTk1IG0zMnItaWJsZC5jOjE5NQojOiBvcGVucmlzYy1pYmxkLmM6MTk1IHhzdG9ybXkxNi1pYmxkLmM6MTk1CiMsIGMtZm9ybWF0Cm1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAoJWxkIG5vdCBiZXR3ZWVuICVsZCBhbmQgJWxkKSIKbXNnc3RyICJvcGVyYW5kZW4g5HIgdXRhbmb2ciBpbnRlcnZhbGxldCAoJWxkIORyIGludGUgbWVsbGFuICVsZCBvY2ggJWxkKSIKCiM6IGNnZW4tYXNtLmM6MzY3CiMsIGMtZm9ybWF0Cm1zZ2lkICJvcGVyYW5kIG91dCBvZiByYW5nZSAoJWx1IG5vdCBiZXR3ZWVuICVsdSBhbmQgJWx1KSIKbXNnc3RyICJvcGVyYW5kZW4g5HIgdXRhbmb2ciBpbnRlcnZhbGxldCAoJWx1IORyIGludGUgbWVsbGFuICVsdSBvY2ggJWx1KSIKCiM6IGQzMHYtZGlzLmM6MzEyCiMsIGMtZm9ybWF0Cm1zZ2lkICI8dW5rbm93biByZWdpc3RlciAlZD4iCm1zZ3N0ciAiPG9r5G50IHJlZ2lzdGVyICVkPiIKCiMuIENhbid0IGhhcHBlbi4KIzogZGlzLWJ1Zi5jOjU3CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbmtub3duIGVycm9yICVkXG4iCm1zZ3N0ciAiT2vkbnQgZmVsICVkXG4iCgojOiBkaXMtYnVmLmM6NjIKIywgYy1mb3JtYXQKbXNnaWQgIkFkZHJlc3MgMHgleCBpcyBvdXQgb2YgYm91bmRzLlxuIgptc2dzdHIgIkFkcmVzc2VuIDB4JXggbGlnZ2VyIHV0YW5m9nIgdGlsbOV0bmEgZ3LkbnNlci5cbiIKCiM6IGZyMzAtYXNtLmM6MzIzIGZydi1hc20uYzo1OTUgbTMyci1hc20uYzozMjUgb3BlbnJpc2MtYXNtLmM6MjQ0CiM6IHhzdG9ybXkxNi1hc20uYzoyMzEKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBwYXJzaW5nLlxuIgptc2dzdHIgIk9r5G50IGbkbHQgJWQgdmlkIHRvbGtuaW5nLlxuIgoKIzogZnIzMC1hc20uYzozNzMgZnJ2LWFzbS5jOjY0NSBtMzJyLWFzbS5jOjM3NSBvcGVucmlzYy1hc20uYzoyOTQKIzogeHN0b3JteTE2LWFzbS5jOjI4MQptc2dpZCAibWlzc2luZyBtbmVtb25pYyBpbiBzeW50YXggc3RyaW5nIgptc2dzdHIgImluc3RydWt0aW9uIHNha25hcyBpIHN5bnRheHN0cuRuZyIKCiMuIFdlIGNvdWxkbid0IHBhcnNlIGl0LgojOiBmcjMwLWFzbS5jOjUwOSBmcjMwLWFzbS5jOjUxMyBmcjMwLWFzbS5jOjYwMCBmcjMwLWFzbS5jOjcwMiBmcnYtYXNtLmM6NzgxCiM6IGZydi1hc20uYzo3ODUgZnJ2LWFzbS5jOjg3MiBmcnYtYXNtLmM6OTc0IG0zMnItYXNtLmM6NTExIG0zMnItYXNtLmM6NTE1CiM6IG0zMnItYXNtLmM6NjAyIG0zMnItYXNtLmM6NzA0IG9wZW5yaXNjLWFzbS5jOjQzMCBvcGVucmlzYy1hc20uYzo0MzQKIzogb3BlbnJpc2MtYXNtLmM6NTIxIG9wZW5yaXNjLWFzbS5jOjYyMyB4c3Rvcm15MTYtYXNtLmM6NDE3CiM6IHhzdG9ybXkxNi1hc20uYzo0MjEgeHN0b3JteTE2LWFzbS5jOjUwOCB4c3Rvcm15MTYtYXNtLmM6NjEwCm1zZ2lkICJ1bnJlY29nbml6ZWQgaW5zdHJ1Y3Rpb24iCm1zZ3N0ciAib2vkbmQgaW5zdHJ1a3Rpb24iCgojOiBmcjMwLWFzbS5jOjU1NiBmcnYtYXNtLmM6ODI4IG0zMnItYXNtLmM6NTU4IG9wZW5yaXNjLWFzbS5jOjQ3NwojOiB4c3Rvcm15MTYtYXNtLmM6NDY0CiMsIGMtZm9ybWF0Cm1zZ2lkICJzeW50YXggZXJyb3IgKGV4cGVjdGVkIGNoYXIgYCVjJywgZm91bmQgYCVjJykiCm1zZ3N0ciAic3ludGF4ZmVsICh0ZWNrbmV0IFwiJWNcIiBm9nJ25G50YWRlcywgaGl0dGFkZSBcIiVjXCIpIgoKIzogZnIzMC1hc20uYzo1NjYgZnJ2LWFzbS5jOjgzOCBtMzJyLWFzbS5jOjU2OCBvcGVucmlzYy1hc20uYzo0ODcKIzogeHN0b3JteTE2LWFzbS5jOjQ3NAojLCBjLWZvcm1hdAptc2dpZCAic3ludGF4IGVycm9yIChleHBlY3RlZCBjaGFyIGAlYycsIGZvdW5kIGVuZCBvZiBpbnN0cnVjdGlvbikiCm1zZ3N0ciAic3ludGF4ZmVsICh0ZWNrbmV0IFwiJWNcIiBm9nJ25G50YWRlcywgaGl0dGFkZSBzbHV0ZXQgcOUgaW5zdHJ1a3Rpb24pIgoKIzogZnIzMC1hc20uYzo1OTQgZnJ2LWFzbS5jOjg2NiBtMzJyLWFzbS5jOjU5NiBvcGVucmlzYy1hc20uYzo1MTUKIzogeHN0b3JteTE2LWFzbS5jOjUwMgptc2dpZCAianVuayBhdCBlbmQgb2YgbGluZSIKbXNnc3RyICJza3LkcCB2aWQgc2x1dGV0IHDlIHJhZGVuIgoKIzogZnIzMC1hc20uYzo3MDEgZnJ2LWFzbS5jOjk3MyBtMzJyLWFzbS5jOjcwMyBvcGVucmlzYy1hc20uYzo2MjIKIzogeHN0b3JteTE2LWFzbS5jOjYwOQptc2dpZCAidW5yZWNvZ25pemVkIGZvcm0gb2YgaW5zdHJ1Y3Rpb24iCm1zZ3N0ciAib2vkbmQgaW5zdHJ1a3Rpb25zZm9ybSIKCiM6IGZyMzAtYXNtLmM6NzEzIGZydi1hc20uYzo5ODUgbTMyci1hc20uYzo3MTUgb3BlbnJpc2MtYXNtLmM6NjM0CiM6IHhzdG9ybXkxNi1hc20uYzo2MjEKIywgYy1mb3JtYXQKbXNnaWQgImJhZCBpbnN0cnVjdGlvbiBgJS41MHMuLi4nIgptc2dzdHIgImZlbGFrdGlnIGluc3RydWt0aW9uIFwiJS41MHMuLi5cIiIKCiM6IGZyMzAtYXNtLmM6NzE2IGZydi1hc20uYzo5ODggbTMyci1hc20uYzo3MTggb3BlbnJpc2MtYXNtLmM6NjM3CiM6IHhzdG9ybXkxNi1hc20uYzo2MjQKIywgYy1mb3JtYXQKbXNnaWQgImJhZCBpbnN0cnVjdGlvbiBgJS41MHMnIgptc2dzdHIgImZlbGFrdGlnIGluc3RydWt0aW9uIFwiJS41MHNcIiIKCiMuIERlZmF1bHQgdGV4dCB0byBwcmludCBpZiBhbiBpbnN0cnVjdGlvbiBpc24ndCByZWNvZ25pemVkLgojOiBmcjMwLWRpcy5jOjM5IGZydi1kaXMuYzozOSBtMzJyLWRpcy5jOjM5IG1taXgtZGlzLmM6MjgyIG9wZW5yaXNjLWRpcy5jOjM5CiM6IHhzdG9ybXkxNi1kaXMuYzozOQptc2dpZCAiKnVua25vd24qIgptc2dzdHIgIipva+RuZCoiCgojOiBmcjMwLWRpcy5jOjMxOCBmcnYtZGlzLmM6MzYwIG0zMnItZGlzLmM6MjQ5IG9wZW5yaXNjLWRpcy5jOjEzNgojOiB4c3Rvcm15MTYtZGlzLmM6MTY5CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgcHJpbnRpbmcgaW5zbi5cbiIKbXNnc3RyICJPa+RudCBm5Gx0ICVkIHZpZCB1dHNrcmlmdCBhdiBpbnN0cnVrdGlvbi5cbiIKCiM6IGZyMzAtaWJsZC5jOjE2NiBmcnYtaWJsZC5jOjE2NiBtMzJyLWlibGQuYzoxNjYgb3BlbnJpc2MtaWJsZC5jOjE2NgojOiB4c3Rvcm15MTYtaWJsZC5jOjE2NgojLCBjLWZvcm1hdAptc2dpZCAib3BlcmFuZCBvdXQgb2YgcmFuZ2UgKCVsZCBub3QgYmV0d2VlbiAlbGQgYW5kICVsdSkiCm1zZ3N0ciAib3BlcmFuZGVuIORyIHV0YW5m9nIgaW50ZXJ2YWxsZXQgKCVsZCDkciBpbnRlIG1lbGxhbiAlbGQgb2NoICVsdSkiCgojOiBmcjMwLWlibGQuYzoxNzkgZnJ2LWlibGQuYzoxNzkgbTMyci1pYmxkLmM6MTc5IG9wZW5yaXNjLWlibGQuYzoxNzkKIzogeHN0b3JteTE2LWlibGQuYzoxNzkKIywgYy1mb3JtYXQKbXNnaWQgIm9wZXJhbmQgb3V0IG9mIHJhbmdlICglbHUgbm90IGJldHdlZW4gMCBhbmQgJWx1KSIKbXNnc3RyICJvcGVyYW5kZW4gdXRhbmb2ciBpbnRlcnZhbGxldCAoJWx1IGludGUgbWVsbGFuIDAgb2NoICVsdSkiCgojOiBmcjMwLWlibGQuYzo3MzAgZnJ2LWlibGQuYzo4MjAgbTMyci1pYmxkLmM6NjU5IG9wZW5yaXNjLWlibGQuYzo2MzMKIzogeHN0b3JteTE2LWlibGQuYzo2NzgKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBidWlsZGluZyBpbnNuLlxuIgptc2dzdHIgIk9r5G50IGbkbHQgJWQgdmlkIGtvbnN0cnVrdGlvbiBhdiBpbnN0cnVrdGlvbi5cbiIKCiM6IGZyMzAtaWJsZC5jOjkzNyBmcnYtaWJsZC5jOjExMDMgbTMyci1pYmxkLmM6NzkyIG9wZW5yaXNjLWlibGQuYzo3MzUKIzogeHN0b3JteTE2LWlibGQuYzo4MjYKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBkZWNvZGluZyBpbnNuLlxuIgptc2dzdHIgIk9r5G50IGbkbHQgJWQgdmlkIGF2a29kbmluZyBhdiBpbnN0cnVrdGlvbi5cbiIKCiM6IGZyMzAtaWJsZC5jOjEwODYgZnJ2LWlibGQuYzoxMzQ4IG0zMnItaWJsZC5jOjkwMiBvcGVucmlzYy1pYmxkLmM6ODE1CiM6IHhzdG9ybXkxNi1pYmxkLmM6OTM5CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgZ2V0dGluZyBpbnQgb3BlcmFuZC5cbiIKbXNnc3RyICJPa+RudCBm5Gx0ICVkIHZpZCBo5G10bmluZyBhdiBoZWx0YWxzb3BlcmFuZC5cbiIKCiM6IGZyMzAtaWJsZC5jOjEyMTUgZnJ2LWlibGQuYzoxNTczIG0zMnItaWJsZC5jOjk5MiBvcGVucmlzYy1pYmxkLmM6ODc1CiM6IHhzdG9ybXkxNi1pYmxkLmM6MTAzMgojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pemVkIGZpZWxkICVkIHdoaWxlIGdldHRpbmcgdm1hIG9wZXJhbmQuXG4iCm1zZ3N0ciAiT2vkbnQgZuRsdCAlZCB2aWQgaORtdG5pbmcgYXYgdm1hLW9wZXJhbmQuXG4iCgojOiBmcjMwLWlibGQuYzoxMzQ5IGZydi1pYmxkLmM6MTgwNyBtMzJyLWlibGQuYzoxMDkwIG9wZW5yaXNjLWlibGQuYzo5NDQKIzogeHN0b3JteTE2LWlibGQuYzoxMTM0CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgc2V0dGluZyBpbnQgb3BlcmFuZC5cbiIKbXNnc3RyICJPa+RudCBm5Gx0ICVkIHZpZCBpbnN05GxsbmluZyBhdiBoZWx0YWxzb3BlcmFuZC5cbiIKCiM6IGZyMzAtaWJsZC5jOjE0NzEgZnJ2LWlibGQuYzoyMDI5IG0zMnItaWJsZC5jOjExNzYgb3BlbnJpc2MtaWJsZC5jOjEwMDEKIzogeHN0b3JteTE2LWlibGQuYzoxMjI0CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgc2V0dGluZyB2bWEgb3BlcmFuZC5cbiIKbXNnc3RyICJPa+RudCBm5Gx0ICVkIHZpZCBpbnN05GxsbmluZyBhdiB2bWEtb3BlcmFuZC5cbiIKCiM6IGg4MzAwLWRpcy5jOjM4NQojLCBjLWZvcm1hdAptc2dpZCAiSG1tbW0gJXgiCm1zZ3N0ciAiSG1tbW0gJXgiCgojOiBoODMwMC1kaXMuYzozOTYKIywgYy1mb3JtYXQKbXNnaWQgIkRvbid0IHVuZGVyc3RhbmQgJXggXG4iCm1zZ3N0ciAiRvZyc3TlciBpbnRlICV4IFxuIgoKIzogaDg1MDAtZGlzLmM6MTQzCiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW4ndCBjb3BlIHdpdGggaW5zZXJ0ICVkXG4iCm1zZ3N0ciAia2FuIGludGUgc+R0dGEgaW4gJWRcbiIKCiMuIENvdWxkbid0IHVuZGVyc3RhbmQgYW55dGhpbmcuCiM6IGg4NTAwLWRpcy5jOjM1MAojLCBjLWZvcm1hdAptc2dpZCAiJTAyeFx0XHQqdW5rbm93bioiCm1zZ3N0ciAiJTAyeFx0XHQqb2vkbmQqIgoKIzogaTM4Ni1kaXMuYzoxNjQ5Cm1zZ2lkICI8aW50ZXJuYWwgZGlzYXNzZW1ibGVyIGVycm9yPiIKbXNnc3RyICI8aW50ZXJudCBmZWwgaSBkaXNhc3NlbWJsZXJhcmVuPiIKCiM6IG0xMDIwMC1kaXMuYzoxOTkKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd25cdDB4JTAyeCIKbXNnc3RyICJva+RuZFx0MHglMDJ4IgoKIzogbTEwMjAwLWRpcy5jOjMzOQojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93blx0MHglMDRseCIKbXNnc3RyICJva+RuZFx0MHglMDRseCIKCiM6IG0xMDMwMC1kaXMuYzo2ODUKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd25cdDB4JTA0eCIKbXNnc3RyICJva+RuZFx0MHglMDR4IgoKIzogbTY4ay1kaXMuYzo0MjkKIywgYy1mb3JtYXQKbXNnaWQgIjxpbnRlcm5hbCBlcnJvciBpbiBvcGNvZGUgdGFibGU6ICVzICVzPlxuIgptc2dzdHIgIjxpbnRlcm50IGZlbCBpIGluc3RydWt0aW9uc3RhYmVsbGVuOiAlcyAlcz5cbiIKCiM6IG02OGstZGlzLmM6MTAwNwojLCBjLWZvcm1hdAptc2dpZCAiPGZ1bmN0aW9uIGNvZGUgJWQ+Igptc2dzdHIgIjxmdW5rdGlvbnNrb2QgJWQ+IgoKIzogbTg4ay1kaXMuYzoyNTUKIywgYy1mb3JtYXQKbXNnaWQgIiMgPGRpcyBlcnJvcjogJTA4eD4iCm1zZ3N0ciAiIyA8ZGlzYXNzZW1ibGVyYXJmZWw6ICUwOHg+IgoKIzogbWlwcy1kaXMuYzozMzcKIywgYy1mb3JtYXQKbXNnaWQgIiMgaW50ZXJuYWwgZXJyb3IsIHVuZGVmaW5lZCBtb2RpZmllciglYykiCm1zZ3N0ciAiIyBpbnRlcm50IGZlbCwgb2vkbmQgbW9kaWZpZXJhcmUoJWMpIgoKIzogbWlwcy1kaXMuYzoxMjA5CiMsIGMtZm9ybWF0Cm1zZ2lkICIjIGludGVybmFsIGRpc2Fzc2VtYmxlciBlcnJvciwgdW5yZWNvZ25pc2VkIG1vZGlmaWVyICglYykiCm1zZ3N0ciAiIyBpbnRlcm50IGRpc2Fzc2VtYmxlcmZlbCwgb2vkbmQgbW9kaWZpZXJhcmUgKCVjKSIKCiM6IG1taXgtZGlzLmM6MzQKIywgYy1mb3JtYXQKbXNnaWQgIkJhZCBjYXNlICVkICglcykgaW4gJXM6JWRcbiIKbXNnc3RyICJGZWxha3RpZ3QgZmFsbCAlZCAoJXMpIGkgJXM6JWRcbiIKCiM6IG1taXgtZGlzLmM6NDQKIywgYy1mb3JtYXQKbXNnaWQgIkludGVybmFsOiBOb24tZGVidWdnZWQgY29kZSAodGVzdC1jYXNlIG1pc3NpbmcpOiAlczolZCIKbXNnc3RyICJJbnRlcm50OiBFaiBmZWxz9mt0IGtvZCAodGVzdGZhbGwgc2FrbmFzKTogJXM6JWQiCgojOiBtbWl4LWRpcy5jOjUzCm1zZ2lkICIodW5rbm93bikiCm1zZ3N0ciAiKG9r5G5kKSIKCiM6IG1taXgtZGlzLmM6NTE3CiMsIGMtZm9ybWF0Cm1zZ2lkICIqdW5rbm93biBvcGVyYW5kcyB0eXBlOiAlZCoiCm1zZ3N0ciAiKm9r5G5kIG9wZXJhbmR0eXA6ICVkKiIKCiMuIEkgYW5kIFogYXJlIG91dHB1dCBvcGVyYW5kcyBhbmQgY2FuYHQgYmUgaW1tZWRpYXRlCiMuICogQSBpcyBhbiBhZGRyZXNzIGFuZCB3ZSBjYW5gdCBoYXZlIHRoZSBhZGRyZXNzIG9mCiMuICogYW4gaW1tZWRpYXRlIGVpdGhlci4gV2UgZG9uJ3Qga25vdyBob3cgbXVjaCB0byBpbmNyZWFzZQojLiAqIGFvZmZzZXRwIGJ5IHNpbmNlIHdoYXRldmVyIGdlbmVyYXRlZCB0aGlzIGlzIGJyb2tlbgojLiAqIGFueXdheSEKIy4KIzogbnMzMmstZGlzLmM6NjI4Cm1zZ2lkICIkPHVuZGVmaW5lZD4iCm1zZ3N0ciAiJDxvZGVmaW5pZXJhZD4iCgojOiBwcGMtb3BjLmM6Nzc3IHBwYy1vcGMuYzo4MTAKbXNnaWQgImludmFsaWQgY29uZGl0aW9uYWwgb3B0aW9uIgptc2dzdHIgIm9naWx0aWcgdmlsbGtvcmxpZyBmbGFnZ2EiCgojOiBwcGMtb3BjLmM6ODEyCm1zZ2lkICJhdHRlbXB0IHRvIHNldCB5IGJpdCB3aGVuIHVzaW5nICsgb3IgLSBtb2RpZmllciIKbXNnc3RyICJm9nJz9msgYXR0IHN05GxsYSBpbiB5LWJpdGVuIGTlIG1vZGlmaWVyYXJlbiArIGVsbGVyIC0gYW525G5kZXMiCgojOiBwcGMtb3BjLmM6ODQ0IHBwYy1vcGMuYzo4OTYKbXNnaWQgIm9mZnNldCBub3QgYSBtdWx0aXBsZSBvZiA0Igptc2dzdHIgImF2c3TlbmRldCDkciBpbnRlIGVuIG11bHRpcGVsIGF2IDQiCgojOiBwcGMtb3BjLmM6ODY5Cm1zZ2lkICJvZmZzZXQgbm90IGJldHdlZW4gLTIwNDggYW5kIDIwNDciCm1zZ3N0ciAiYXZzdOVuZGV0IORyIGludGUgbWVsbGFuIC0yMDQ4IG9jaCAyMDQ3IgoKIzogcHBjLW9wYy5jOjg5NAptc2dpZCAib2Zmc2V0IG5vdCBiZXR3ZWVuIC04MTkyIGFuZCA4MTkxIgptc2dzdHIgImF2c3TlbmRldCDkciBpbnRlIG1lbGxhbiAtODE5MiBvY2ggODE5MSIKCiM6IHBwYy1vcGMuYzo5MjIKbXNnaWQgImlnbm9yaW5nIGxlYXN0IHNpZ25pZmljYW50IGJpdHMgaW4gYnJhbmNoIG9mZnNldCIKbXNnc3RyICJpZ25vcmVyYXIgbWluc3Qgc2lnbmlmaWthbnRhIGJpdGFybmEgaSBncmVuYXZzdOVuZCIKCiM6IHBwYy1vcGMuYzo5NTYgcHBjLW9wYy5jOjk5Mwptc2dpZCAiaWxsZWdhbCBiaXRtYXNrIgptc2dzdHIgIm90aWxs5XRlbiBiaXRtYXNrIgoKIzogcHBjLW9wYy5jOjEwNjYKbXNnaWQgInZhbHVlIG91dCBvZiByYW5nZSIKbXNnc3RyICJ25HJkZXQg5HIgdXRhbmb2ciBpbnRlcnZhbGxldCIKCiM6IHBwYy1vcGMuYzoxMTQyCm1zZ2lkICJpbmRleCByZWdpc3RlciBpbiBsb2FkIHJhbmdlIgptc2dzdHIgImluZGV4cmVnaXN0cmV0IORyIGkgaW5s5HNuaW5nc2ludGVydmFsbGV0IgoKIzogcHBjLW9wYy5jOjExNTgKbXNnaWQgImludmFsaWQgcmVnaXN0ZXIgb3BlcmFuZCB3aGVuIHVwZGF0aW5nIgptc2dzdHIgIm9naWx0aWcgcmVnaXN0ZXJvcGVyYW5kIHZpZCB1cHBkYXRlcmluZyIKCiMuIE1hcmsgYXMgbm9uLXZhbGlkIGluc3RydWN0aW9uCiM6IHNwYXJjLWRpcy5jOjc1MAptc2dpZCAidW5rbm93biIKbXNnc3RyICJva+RuZCIKCiM6IHNwYXJjLWRpcy5jOjgyNQojLCBjLWZvcm1hdAptc2dpZCAiSW50ZXJuYWwgZXJyb3I6ICBiYWQgc3BhcmMtb3Bjb2RlLmg6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKbXNnc3RyICJJbnRlcm50IGZlbDogIGZlbGFrdGlnIHNwYXJjLW9wY29kZS5oOiBcIiVzXCIsICUjLjhseCwgJSMuOGx4XG4iCgojOiBzcGFyYy1kaXMuYzo4MzYKIywgYy1mb3JtYXQKbXNnaWQgIkludGVybmFsIGVycm9yOiBiYWQgc3BhcmMtb3Bjb2RlLmg6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKbXNnc3RyICJJbnRlcm50IGZlbDogZmVsYWt0aWcgc3BhcmMtb3Bjb2RlLmg6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKCiM6IHNwYXJjLWRpcy5jOjg4NQojLCBjLWZvcm1hdAptc2dpZCAiSW50ZXJuYWwgZXJyb3I6IGJhZCBzcGFyYy1vcGNvZGUuaDogXCIlc1wiID09IFwiJXNcIlxuIgptc2dzdHIgIkludGVybnQgZmVsOiBmZWxha3RpZyBzcGFyYy1vcGNvZGUuaDogXCIlc1wiID09IFwiJXNcIlxuIgoKIzogdjg1MC1kaXMuYzoyMjQKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gb3BlcmFuZCBzaGlmdDogJXhcbiIKbXNnc3RyICJva+RudCBvcGVyYW5kc2tpZnRlOiAleFxuIgoKIzogdjg1MC1kaXMuYzoyMzYKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gcG9wIHJlZzogJWRcbiIKbXNnc3RyICJva+RudCBwb3AtcmVnaXN0ZXI6ICVkXG4iCgojLiBUaGUgZnVuY3Rpb25zIHVzZWQgdG8gaW5zZXJ0IGFuZCBleHRyYWN0IGNvbXBsaWNhdGVkIG9wZXJhbmRzLgojLiBOb3RlOiBUaGVyZSBpcyBhIGNvbnNwaXJhY3kgYmV0d2VlbiB0aGVzZSBmdW5jdGlvbnMgYW5kCiMuIHY4NTBfaW5zZXJ0X29wZXJhbmQoKSBpbiBnYXMvY29uZmlnL3RjLXY4NTAuYy4gIEVycm9yIG1lc3NhZ2VzCiMuIGNvbnRhaW5pbmcgdGhlIHN0cmluZyAnb3V0IG9mIHJhbmdlJyB3aWxsIGJlIGlnbm9yZWQgdW5sZXNzIGEKIy4gc3BlY2lmaWMgY29tbWFuZCBsaW5lIG9wdGlvbiBpcyBnaXZlbiB0byBHQVMuCiM6IHY4NTAtb3BjLmM6NjgKbXNnaWQgImRpc3BsYWNlbWVudCB2YWx1ZSBpcyBub3QgaW4gcmFuZ2UgYW5kIGlzIG5vdCBhbGlnbmVkIgptc2dzdHIgImb2cnNranV0bmluZ3N25HJkZXQg5HIgaW50ZSBpbm9tIGludGVydmFsbGV0IG9jaCBsaWdnZXIgaW50ZSBw5SBq5G1uIGdy5G5zIgoKIzogdjg1MC1vcGMuYzo2OQptc2dpZCAiZGlzcGxhY2VtZW50IHZhbHVlIGlzIG91dCBvZiByYW5nZSIKbXNnc3RyICJm9nJza2p1dG5pbmdzduRyZGV0IORyIHV0YW5m9nIgaW50ZXJ2YWxsZXQiCgojOiB2ODUwLW9wYy5jOjcwCm1zZ2lkICJkaXNwbGFjZW1lbnQgdmFsdWUgaXMgbm90IGFsaWduZWQiCm1zZ3N0ciAiZvZyc2tqdXRuaW5nc3bkcmRldCBsaWdnZXIgaW50ZSBw5SBq5G1uIGdy5G5zIgoKIzogdjg1MC1vcGMuYzo3Mgptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIGlzIG91dCBvZiByYW5nZSIKbXNnc3RyICJvbWVkZWxiYXJhIHbkcmRldCDkciB1dGFuZvZyIGludGVydmFsbGV0IgoKIzogdjg1MC1vcGMuYzo4Mwptc2dpZCAiYnJhbmNoIHZhbHVlIG5vdCBpbiByYW5nZSBhbmQgdG8gb2RkIG9mZnNldCIKbXNnc3RyICJncmVuduRyZGV0IORyIGludGUgaW5vbSBpbnRlcnZhbGxldCBvY2ggdGlsbCBldHQgdWRkYSBhdnN05W5kIgoKIzogdjg1MC1vcGMuYzo4NSB2ODUwLW9wYy5jOjExNwptc2dpZCAiYnJhbmNoIHZhbHVlIG91dCBvZiByYW5nZSIKbXNnc3RyICJncmVuduRyZGV0IORyIHV0YW5m9nIgaW50ZXJ2YWxsZXQiCgojOiB2ODUwLW9wYy5jOjg4IHY4NTAtb3BjLmM6MTIwCm1zZ2lkICJicmFuY2ggdG8gb2RkIG9mZnNldCIKbXNnc3RyICJncmVuaW5nIHRpbGwgdWRkYSBhdnN05W5kIgoKIzogdjg1MC1vcGMuYzoxMTUKbXNnaWQgImJyYW5jaCB2YWx1ZSBub3QgaW4gcmFuZ2UgYW5kIHRvIGFuIG9kZCBvZmZzZXQiCm1zZ3N0ciAiZ3JlbnbkcmRldCDkciBpbnRlIGlub20gaW50ZXJ2YWxsZXQgb2NoIHRpbGwgZXR0IHVkZGEgYXZzdOVuZCIKCiM6IHY4NTAtb3BjLmM6MzQ2Cm1zZ2lkICJpbnZhbGlkIHJlZ2lzdGVyIGZvciBzdGFjayBhZGp1c3RtZW50Igptc2dzdHIgIm9naWx0aWd0IHJlZ2lzdGVyIGb2ciBzdGFja2p1c3RlcmluZyIKCiM6IHY4NTAtb3BjLmM6MzcwCm1zZ2lkICJpbW1lZGlhdGUgdmFsdWUgbm90IGluIHJhbmdlIGFuZCBub3QgZXZlbiIKbXNnc3RyICJvbWVkZWxiYXJhIHbkcmRldCDkciBpbnRlIGlub20gaW50ZXJ2YWxsZXQgb2NoIGludGUgauRtbnQiCgojOiB2ODUwLW9wYy5jOjM3NQptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIG11c3QgYmUgZXZlbiIKbXNnc3RyICJvbWVkZWxiYXJhIHbkcmRldCBt5XN0ZSB2YXJhIGrkbW50IgoKIzogeHN0b3JteTE2LWFzbS5jOjc0Cm1zZ2lkICJCYWQgcmVnaXN0ZXIgaW4gcHJlaW5jcmVtZW50Igptc2dzdHIgIkZlbGFrdGlndCByZWdpc3RlciBpIGb2cmhhbmRz9mtuaW5nIgoKIzogeHN0b3JteTE2LWFzbS5jOjc5Cm1zZ2lkICJCYWQgcmVnaXN0ZXIgaW4gcG9zdGluY3JlbWVudCIKbXNnc3RyICJGZWxha3RpZ3QgcmVnaXN0ZXIgaSBlZnRlcmhhbmRz9mtuaW5nIgoKIzogeHN0b3JteTE2LWFzbS5jOjgxCm1zZ2lkICJCYWQgcmVnaXN0ZXIgbmFtZSIKbXNnc3RyICJGZWxha3RpZ3QgcmVnaXN0ZXJuYW1uIgoKIzogeHN0b3JteTE2LWFzbS5jOjg1Cm1zZ2lkICJMYWJlbCBjb25mbGljdHMgd2l0aCByZWdpc3RlciBuYW1lIgptc2dzdHIgIkV0aWtldHRlbiDkciBpIGtvbmZsaWt0IG1lZCByZWdpc3Rlcm5hbW4iCgojOiB4c3Rvcm15MTYtYXNtLmM6ODkKbXNnaWQgIkxhYmVsIGNvbmZsaWN0cyB3aXRoIGBSeCciCm1zZ3N0ciAiRXRpa2V0dGVuIORyIGkga29uZmxpa3QgbWVkIFwiUnhcIiIKCiM6IHhzdG9ybXkxNi1hc20uYzo5MQptc2dpZCAiQmFkIGltbWVkaWF0ZSBleHByZXNzaW9uIgptc2dzdHIgIkZlbGFrdGlndCBvbWVkZWxiYXJ0IHV0dHJ5Y2siCgojOiB4c3Rvcm15MTYtYXNtLmM6MTIwCm1zZ2lkICJTbWFsbCBvcGVyYW5kIHdhcyBub3QgYW4gaW1tZWRpYXRlIG51bWJlciIKbXNnc3RyICJMaXRlbiBvcGVyYW5kIHZhciBpbnRlIGV0dCBvbWVkZWxiYXJ0IHRhbCIKCiN+IG1zZ2lkICJ1bnJlY29nbml6ZWQga2V5d29yZC9yZWdpc3RlciBuYW1lIgojfiBtc2dzdHIgIm9r5G50IG5hbW4gcOUgbnlja2Vsb3JkL3JlZ2lzdGVyIgo=