IyBEYW5pc2ggbWVzc2FnZXMgZm9yIGdudWxpYi4KIyBDb3B5cmlnaHQgqSAxOTk3LCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA3LCAyMDA5LCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBnbnVsaWIgcGFja2FnZS4KIyBQZXRlciBBbnRtYW4gPHBldGVyLmFudG1hbkBhYmMuc2U+LCAxOTk3LgojIFRob21hcyBPbHNzb24gPGNpZDk1dGhvQGx1c3R1ZGF0LnN0dWRlbnQubHUuc2U+LCAxOTk3LgojIERhbmllbCBSZXNhcmUgPGRhbmllbEByZXNhcmUuY29tPiwgMTk5OSwgMjAwMC4KIyBH9nJhbiBVZGRlYm9yZyA8Z29lcmFuQHVkZGVib3JnLnNlPiwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNywgMjAwOSwgMjAxMC4KIyBLZWxkIFNpbW9uc2VuIDxrZWxkQGtlbGRpeC5jb20+LCAyMDExCiMKIyAkUmV2aXNpb246IDEuOCAkCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IGdudWxpYiAyLjAuMC4zNDYyLmU5Nzk2XG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWdudWxpYkBnbnUub3JnXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOS0xMi0xMSAwNzo0MyswMTAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDExLTAxLTIwIDIyOjExKzAxMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogS2VsZCBTaW1vbnNlbiA8a2VsZEBrZWxkaXguY29tPlxuIgoiTGFuZ3VhZ2UtVGVhbTogRGFuaXNoIDxkYW5za0BkYW5zay1ncnVwcGVuLmRrPlxuIgoiTGFuZ3VhZ2U6IGRhXG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PWlzby04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKIlgtQnVnczogUmVwb3J0IHRyYW5zbGF0aW9uIGVycm9ycyB0byB0aGUgTGFuZ3VhZ2UtVGVhbSBhZGRyZXNzLlxuIgoiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCgojOiBsaWIvYXJnbWF0Y2guYzoxMzIKIywgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgYXJndW1lbnQgJXMgZm9yICVzIgptc2dzdHIgIlVneWxkaWd0IGFyZ3VtZW50ICVzIHRpbCAlcyIKCiM6IGxpYi9hcmdtYXRjaC5jOjEzMwojLCBjLWZvcm1hdAptc2dpZCAiYW1iaWd1b3VzIGFyZ3VtZW50ICVzIGZvciAlcyIKbXNnc3RyICJmbGVydHlkaWd0IGFyZ3VtZW50ICVzIHRpbCAlcyIKCiM6IGxpYi9hcmdtYXRjaC5jOjE1MiBsaWIvYXJnbWF0Y2guaDoyMjMKbXNnaWQgIlZhbGlkIGFyZ3VtZW50cyBhcmU6Igptc2dzdHIgImd5bGRpZ2UgYXJndW1lbnRlciBlcjoiCgojOiBsaWIvYml0c2V0L3N0YXRzLmM6MTc3CiMsIGMtZm9ybWF0Cm1zZ2lkICIldSBiaXRzZXRfYWxsb2NzLCAldSBmcmVlZCAoJS4yZiUlKS5cbiIKbXNnc3RyICIiCgojOiBsaWIvYml0c2V0L3N0YXRzLmM6MTgwCiMsIGMtZm9ybWF0Cm1zZ2lkICIldSBiaXRzZXRfc2V0cywgJXUgY2FjaGVkICglLjJmJSUpXG4iCm1zZ3N0ciAiIgoKIzogbGliL2JpdHNldC9zdGF0cy5jOjE4MwojLCBjLWZvcm1hdAptc2dpZCAiJXUgYml0c2V0X3Jlc2V0cywgJXUgY2FjaGVkICglLjJmJSUpXG4iCm1zZ3N0ciAiIgoKIzogbGliL2JpdHNldC9zdGF0cy5jOjE4NgojLCBjLWZvcm1hdAptc2dpZCAiJXUgYml0c2V0X3Rlc3RzLCAldSBjYWNoZWQgKCUuMmYlJSlcbiIKbXNnc3RyICIiCgojOiBsaWIvYml0c2V0L3N0YXRzLmM6MTkwCiMsIGMtZm9ybWF0Cm1zZ2lkICIldSBiaXRzZXRfbGlzdHNcbiIKbXNnc3RyICIiCgojOiBsaWIvYml0c2V0L3N0YXRzLmM6MTkyCm1zZ2lkICJjb3VudCBsb2cgaGlzdG9ncmFtXG4iCm1zZ3N0ciAiIgoKIzogbGliL2JpdHNldC9zdGF0cy5jOjE5NQptc2dpZCAic2l6ZSBsb2cgaGlzdG9ncmFtXG4iCm1zZ3N0ciAiIgoKIzogbGliL2JpdHNldC9zdGF0cy5jOjE5OAptc2dpZCAiZGVuc2l0eSBoaXN0b2dyYW1cbiIKbXNnc3RyICIiCgojOiBsaWIvYml0c2V0L3N0YXRzLmM6MjEwCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJCaXRzZXQgc3RhdGlzdGljczpcbiIKIlxuIgptc2dzdHIgIiIKCiM6IGxpYi9iaXRzZXQvc3RhdHMuYzoyMTMKIywgYy1mb3JtYXQKbXNnaWQgIkFjY3VtdWxhdGVkIHJ1bnMgPSAldVxuIgptc2dzdHIgIiIKCiM6IGxpYi9iaXRzZXQvc3RhdHMuYzoyNTUgbGliL2JpdHNldC9zdGF0cy5jOjI2MAojLCBmdXp6eQptc2dpZCAiY2Fubm90IHJlYWQgc3RhdHMgZmlsZSIKbXNnc3RyICJrYW4gaWtrZSBvcHJldHRlIGRhdGFrYW5hbCIKCiM6IGxpYi9iaXRzZXQvc3RhdHMuYzoyNTcKIywgYy1mb3JtYXQKbXNnaWQgImJhZCBzdGF0cyBmaWxlIHNpemVcbiIKbXNnc3RyICIiCgojOiBsaWIvYml0c2V0L3N0YXRzLmM6MjgxIGxpYi9iaXRzZXQvc3RhdHMuYzoyODMKIywgZnV6enkKbXNnaWQgImNhbm5vdCB3cml0ZSBzdGF0cyBmaWxlIgptc2dzdHIgImthbiBpa2tlIG9wcmV0dGUgZGF0YWthbmFsIgoKIzogbGliL2JpdHNldC9zdGF0cy5jOjI4NgojLCBmdXp6eQptc2dpZCAiY2Fubm90IG9wZW4gc3RhdHMgZmlsZSBmb3Igd3JpdGluZyIKbXNnc3RyICJrYW4gaWtrZSDlYm5lIHNpa2tlcmhlZHNrb3BpZmlsICclcycgZm9yIHNrcml2bmluZyIKCiM6IGxpYi9jbG9zZW91dC5jOjEyMgptc2dpZCAid3JpdGUgZXJyb3IiCm1zZ3N0ciAic2tyaXZlZmVqbCIKCiM6IGxpYi9lcnJvci5jOjE5NQptc2dpZCAiVW5rbm93biBzeXN0ZW0gZXJyb3IiCm1zZ3N0ciAiVWtlbmR0IHN5c3RlbWZlamwiCgojOiBsaWIvZ2V0b3B0LmM6Mjc4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiAnJXMlcycgaXMgYW1iaWd1b3VzXG4iCm1zZ3N0ciAiJXM6IGZsYWdldCAnJXMnIGVyIGZsZXJ0eWRpZ3RcbiIKCiM6IGxpYi9nZXRvcHQuYzoyODQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uICclcyVzJyBpcyBhbWJpZ3VvdXM7IHBvc3NpYmlsaXRpZXM6Igptc2dzdHIgIiVzOiBmbGFnZXQgJyVzJyBlciBmbGVydHlkaWd0XG4iCgojOiBsaWIvZ2V0b3B0LmM6MzE5CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IHVucmVjb2duaXplZCBvcHRpb24gJyVzJXMnXG4iCm1zZ3N0ciAiJXM6IHVrZW5kdCBmbGFnICclYyVzJ1xuIgoKIzogbGliL2dldG9wdC5jOjM0NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gJyVzJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIlczogZmxhZ2V0ICclYyVzJyB0YWdlciBpbnRldCBhcmd1bWVudFxuIgoKIzogbGliL2dldG9wdC5jOjM2MAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gJyVzJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCm1zZ3N0ciAiJXM6IGZsYWdldCAnJXMnIGty5nZlciBldCBhcmd1bWVudFxuIgoKIzogbGliL2dldG9wdC5jOjYyMQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIC0tICclYydcbiIKbXNnc3RyICIlczogdWd5bGRpZyBmbGFnIC0tICclYydcbiIKCiM6IGxpYi9nZXRvcHQuYzo2MzYgbGliL2dldG9wdC5jOjY4MgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAnJWMnXG4iCm1zZ3N0ciAiJXM6IGZsYWdldCBrcuZ2ZXIgZXQgYXJndW1lbnQgLS0gJyVjJ1xuIgoKIzogbGliL29ic3RhY2suYzozMzggbGliL29ic3RhY2suYzozNDAgbGliL3hhbGxvYy1kaWUuYzozNAptc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKbXNnc3RyICJodWtvbW1lbHNlbiBvcGJydWd0IgoKIy4gVFJBTlNMQVRPUlM6CiMuIEdldCB0cmFuc2xhdGlvbnMgZm9yIG9wZW4gYW5kIGNsb3NpbmcgcXVvdGF0aW9uIG1hcmtzLgojLiBUaGUgbWVzc2FnZSBjYXRhbG9nIHNob3VsZCB0cmFuc2xhdGUgImAiIHRvIGEgbGVmdAojLiBxdW90YXRpb24gbWFyayBzdWl0YWJsZSBmb3IgdGhlIGxvY2FsZSwgYW5kIHNpbWlsYXJseSBmb3IKIy4gIiciLiAgRm9yIGV4YW1wbGUsIGEgRnJlbmNoIFVuaWNvZGUgbG9jYWwgc2hvdWxkIHRyYW5zbGF0ZQojLiB0aGVzZSB0byBVKzAwQUIgKExFRlQtUE9JTlRJTkcgRE9VQkxFIEFOR0xFCiMuIFFVT1RBVElPTiBNQVJLKSwgYW5kIFUrMDBCQiAoUklHSFQtUE9JTlRJTkcgRE9VQkxFIEFOR0xFCiMuIFFVT1RBVElPTiBNQVJLKSwgcmVzcGVjdGl2ZWx5LgojLgojLiBJZiB0aGUgY2F0YWxvZyBoYXMgbm8gdHJhbnNsYXRpb24sIHdlIHdpbGwgdHJ5IHRvCiMuIHVzZSBVbmljb2RlIFUrMjAxOCAoTEVGVCBTSU5HTEUgUVVPVEFUSU9OIE1BUkspIGFuZAojLiBVbmljb2RlIFUrMjAxOSAoUklHSFQgU0lOR0xFIFFVT1RBVElPTiBNQVJLKS4gIElmIHRoZQojLiBjdXJyZW50IGxvY2FsZSBpcyBub3QgVW5pY29kZSwgbG9jYWxlX3F1b3Rpbmdfc3R5bGUKIy4gd2lsbCBxdW90ZSAnbGlrZSB0aGlzJywgYW5kIGNsb2NhbGVfcXVvdGluZ19zdHlsZSB3aWxsCiMuIHF1b3RlICJsaWtlIHRoaXMiLiAgWW91IHNob3VsZCBhbHdheXMgaW5jbHVkZSB0cmFuc2xhdGlvbnMKIy4gZm9yICJgIiBhbmQgIiciIGV2ZW4gaWYgVSsyMDE4IGFuZCBVKzIwMTkgYXJlIGFwcHJvcHJpYXRlCiMuIGZvciB5b3VyIGxvY2FsZS4KIy4KIy4gSWYgeW91IGRvbid0IGtub3cgd2hhdCB0byBwdXQgaGVyZSwgcGxlYXNlIHNlZQojLiA8aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUXVvdGF0aW9uX21hcmtzX2luX290aGVyX2xhbmd1YWdlcz4KIy4gYW5kIHVzZSBnbHlwaHMgc3VpdGFibGUgZm9yIHlvdXIgbGFuZ3VhZ2UuCiM6IGxpYi9xdW90ZWFyZy5jOjM2Mgptc2dpZCAiYCIKbXNnc3RyICInIgoKIzogbGliL3F1b3RlYXJnLmM6MzYzCm1zZ2lkICInIgptc2dzdHIgIiciCgojOiBsaWIvc3Bhd24tcGlwZS5jOjE0MSBsaWIvc3Bhd24tcGlwZS5jOjE0NCBsaWIvc3Bhd24tcGlwZS5jOjI2NQojOiBsaWIvc3Bhd24tcGlwZS5jOjI2OAojLCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IGNyZWF0ZSBwaXBlIgptc2dzdHIgImthbiBpa2tlIG9wcmV0dGUgZGF0YWthbmFsIgoKIzogbGliL3NwYXduLXBpcGUuYzoyMzUgbGliL3NwYXduLXBpcGUuYzozNDkgbGliL3dhaXQtcHJvY2Vzcy5jOjI5MAojOiBsaWIvd2FpdC1wcm9jZXNzLmM6MzY0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyBzdWJwcm9jZXNzIGZhaWxlZCIKbXNnc3RyICIlcy11bmRlcnByb2NlcyBtaXNseWtrZWRlcyIKCiM6IGxpYi90aW1ldmFyLmM6MzE2Cm1zZ2lkICJFeGVjdXRpb24gdGltZXMgKHNlY29uZHMpIgptc2dzdHIgIiIKCiM6IGxpYi90aW1ldmFyLmM6MzE4Cm1zZ2lkICJDUFUgdXNlciIKbXNnc3RyICIiCgojOiBsaWIvdGltZXZhci5jOjMxOAptc2dpZCAiQ1BVIHN5c3RlbSIKbXNnc3RyICIiCgojOiBsaWIvdGltZXZhci5jOjMxOAojLCBmdXp6eQptc2dpZCAid2FsbCBjbG9jayIKbXNnc3RyICJBbGFybWtsb2trZSIKCiM6IGxpYi93MzJzcGF3bi5oOjQ5CiMsIGMtZm9ybWF0Cm1zZ2lkICJfb3Blbl9vc2ZoYW5kbGUgZmFpbGVkIgptc2dzdHIgIl9vcGVuX29zZmhhbmRsZSBtaXNseWtrZWRlcyIKCiM6IGxpYi93MzJzcGF3bi5oOjkwCiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3QgcmVzdG9yZSBmZCAlZDogZHVwMiBmYWlsZWQiCm1zZ3N0ciAia2FuIGlra2UgZ2Vuc2thYmUgZmIgJWQ6IGR1cDIgbWlzbHlra2VkZXMiCgojOiBsaWIvd2FpdC1wcm9jZXNzLmM6MjMxIGxpYi93YWl0LXByb2Nlc3MuYzoyNjMgbGliL3dhaXQtcHJvY2Vzcy5jOjMyNQojLCBjLWZvcm1hdAptc2dpZCAiJXMgc3VicHJvY2VzcyIKbXNnc3RyICIlcy11bmRlcnByb2NlcyIKCiM6IGxpYi93YWl0LXByb2Nlc3MuYzoyODIgbGliL3dhaXQtcHJvY2Vzcy5jOjM1NAojLCBjLWZvcm1hdAptc2dpZCAiJXMgc3VicHJvY2VzcyBnb3QgZmF0YWwgc2lnbmFsICVkIgptc2dzdHIgIiVzLXVuZGVycHJvY2VzIGZpayD4ZGVs5mdnZW5kZSBzaWduYWwgJWQiCgojfiBtc2dpZCAiUGFja2FnZWQgYnkgJXMgKCVzKVxuIgojfiBtc2dzdHIgIlBha2tldCBhZiAlcyAoJXMpXG4iCgojfiBtc2dpZCAiUGFja2FnZWQgYnkgJXNcbiIKI34gbXNnc3RyICJQYWtrZXQgYWYgJXNcbiIKCiN+IG1zZ2lkICIoQykiCiN+IG1zZ3N0ciAiqSIKCiMsIGZ1enp5CiN+fCBtc2dpZCAiIgojfnwgIlxuIgojfnwgIkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKI358ICJodG1sPi5cbiIKI358ICJUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKI358ICJUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LlxuIgojfnwgIlxuIgojfiBtc2dpZCAiIgojfiAiTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDwlcz4uXG4iCiN+ICJUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKI34gIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCiN+IG1zZ3N0ciAiIgojfiAiXG4iCiN+ICJMaWNlbnMgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBlbGxlciBzZW5lcmUgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzLyIKI34gImdwbC5odG1sPi5cbiIKI34gIkRldHRlIGVyIGZyaXQgcHJvZ3JhbW1lbDogZHUgbeUg5m5kcmUgb2cgdmlkZXJlZGlzdHJpYnVlcmUgZGV0LlxuIgojfiAiRGVyIGdpdmVzIElOR0VOIEdBUkFOVEksIHPlIHZpZHQgbG92IHRpbGxhZGVyLlxuIgojfiAiXG4iCgojfiBtc2dpZCAiV3JpdHRlbiBieSAlcy5cbiIKI34gbXNnc3RyICJTa3JldmV0IGFmICVzLlxuIgoKI34gbXNnaWQgIldyaXR0ZW4gYnkgJXMgYW5kICVzLlxuIgojfiBtc2dzdHIgIlNrcmV2ZXQgYWYgJXMgb2cgJXMuXG4iCgojfiBtc2dpZCAiV3JpdHRlbiBieSAlcywgJXMsIGFuZCAlcy5cbiIKI34gbXNnc3RyICJTa3JldmV0IGFmICVzLCAlcyBvZyAlcy5cbiIKCiN+IG1zZ2lkICIiCiN+ICJXcml0dGVuIGJ5ICVzLCAlcywgJXMsXG4iCiN+ICJhbmQgJXMuXG4iCiN+IG1zZ3N0ciAiIgojfiAiU2tyZXZldCBhZiAlcywgJXMsICVzXG4iCiN+ICJvZyAlcy5cbiIKCiN+IG1zZ2lkICIiCiN+ICJXcml0dGVuIGJ5ICVzLCAlcywgJXMsXG4iCiN+ICIlcywgYW5kICVzLlxuIgojfiBtc2dzdHIgIiIKI34gIlNrcmV2ZXQgYWYgJXMsICVzLCAlcyxcbiIKI34gIiVzIG9nICVzLlxuIgoKI34gbXNnaWQgIiIKI34gIldyaXR0ZW4gYnkgJXMsICVzLCAlcyxcbiIKI34gIiVzLCAlcywgYW5kICVzLlxuIgojfiBtc2dzdHIgIiIKI34gIlNrcmV2ZXQgYWYgJXMsICVzLCAlcyxcbiIKI34gIiVzLCAlcyBvZyAlcy5cbiIKCiN+IG1zZ2lkICIiCiN+ICJXcml0dGVuIGJ5ICVzLCAlcywgJXMsXG4iCiN+ICIlcywgJXMsICVzLCBhbmQgJXMuXG4iCiN+IG1zZ3N0ciAiIgojfiAiU2tyZXZldCBhZiAlcywgJXMsICVzLFxuIgojfiAiJXMsICVzLCAlcyBvZyAlcy5cbiIKCiN+IG1zZ2lkICIiCiN+ICJXcml0dGVuIGJ5ICVzLCAlcywgJXMsXG4iCiN+ICIlcywgJXMsICVzLCAlcyxcbiIKI34gImFuZCAlcy5cbiIKI34gbXNnc3RyICIiCiN+ICJTa3JldmV0IGFmICVzLCAlcywgJXMsXG4iCiN+ICIlcywgJXMsICVzLCAlc1xuIgojfiAib2cgJXMuXG4iCgojfiBtc2dpZCAiIgojfiAiV3JpdHRlbiBieSAlcywgJXMsICVzLFxuIgojfiAiJXMsICVzLCAlcywgJXMsXG4iCiN+ICIlcywgYW5kICVzLlxuIgojfiBtc2dzdHIgIiIKI34gIlNrcmV2ZXQgYWYgJXMsICVzLCAlcyxcbiIKI34gIiVzLCAlcywgJXMsICVzLFxuIgojfiAiJXMgb2cgJXMuXG4iCgojfiBtc2dpZCAiIgojfiAiV3JpdHRlbiBieSAlcywgJXMsICVzLFxuIgojfiAiJXMsICVzLCAlcywgJXMsXG4iCiN+ICIlcywgJXMsIGFuZCBvdGhlcnMuXG4iCiN+IG1zZ3N0ciAiIgojfiAiU2tyZXZldCBhZiAlcywgJXMsICVzLFxuIgojfiAiJXMsICVzLCAlcywgJXMsXG4iCiN+ICIlcywgJXMgbWVkIGZsZXJlLlxuIgoKIywgZnV6enkKI358IG1zZ2lkICIiCiN+fCAiXG4iCiN+fCAiUmVwb3J0IGJ1Z3MgdG86ICVzXG4iCiN+IG1zZ2lkICJSZXBvcnQgYnVncyB0bzogJXNcbiIKI34gbXNnc3RyICIiCiN+ICJcbiIKI34gIlJhcHBvcnTpciBmZWpsIHRpbDogJXNcbiIKI34gIlNlbmRlIHN5bnNwdW5rdGVyIHDlIG92ZXJz5nR0ZWxzZW4gdGlsOiB0cC1zdkBsaXN0b3IudHAtc3Yuc2VcbiIKCiN+IG1zZ2lkICJSZXBvcnQgJXMgYnVncyB0bzogJXNcbiIKI34gbXNnc3RyICJSYXBwb3J06XIgJXMtZmVqbCB0aWw6ICVzXG4iCgojfiBtc2dpZCAiJXMgaG9tZSBwYWdlOiA8JXM+XG4iCiN+IG1zZ3N0ciAiJXMgaGplbW1lc2lkZTogPCVzPlxuIgoKIywgZnV6enkKI358IG1zZ2lkICJHZW5lcmFsIGhlbHAgdXNpbmcgR05VIHNvZnR3YXJlOiA8aHR0cDovL3d3dy5nbnUub3JnL2dldGhlbHAvPlxuIgojfiBtc2dpZCAiR2VuZXJhbCBoZWxwIHVzaW5nIEdOVSBzb2Z0d2FyZTogPCVzPlxuIgojfiBtc2dzdHIgIiIKI34gIkFsbWluZGVsaWcgaGrmbHAgdGlsIGF0IGJydWdlIEdOVS1wcm9ncmFtbWVyOiA8aHR0cDovL3d3dy5nbnUub3JnL2dldGhlbHAvIgojfiAiPlxuIgoKI34gbXNnaWQgIkFSR1BfSEVMUF9GTVQ6ICVzIHZhbHVlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcyIKI34gbXNnc3RyICJBUkdQX0hFTFBfRk1UOiB25nJkaWVuIHDlICVzIGVyIG1pbmRyZSBlbmQgZWxsZXIgbGlnIG1lZCAlcyIKCiN+IG1zZ2lkICIlLipzOiBBUkdQX0hFTFBfRk1UIHBhcmFtZXRlciByZXF1aXJlcyBhIHZhbHVlIgojfiBtc2dzdHIgIiUuKnM6IEFSR1BfSEVMUF9GTVQtcGFyYW1ldGVyZW4ga3LmdmVyIGVuIHbmcmRpIgoKI34gbXNnaWQgIiUuKnM6IEFSR1BfSEVMUF9GTVQgcGFyYW1ldGVyIG11c3QgYmUgcG9zaXRpdmUiCiN+IG1zZ3N0ciAiJS4qczogQVJHUF9IRUxQX0ZNVC1wYXJhbWV0ZXJlbiBza2FsIHbmcmUgcG9zaXRpdiIKCiN+IG1zZ2lkICIlLipzOiBVbmtub3duIEFSR1BfSEVMUF9GTVQgcGFyYW1ldGVyIgojfiBtc2dzdHIgIiUuKnM6IFVrZW5kdCBBUkdQX0hFTFBfRk1ULXBhcmFtZXRlciIKCiN+IG1zZ2lkICJHYXJiYWdlIGluIEFSR1BfSEVMUF9GTVQ6ICVzIgojfiBtc2dzdHIgIlNuYXZzIGkgQVJHUF9IRUxQX0ZNVDogJXMiCgojfiBtc2dpZCAiIgojfiAiTWFuZGF0b3J5IG9yIG9wdGlvbmFsIGFyZ3VtZW50cyB0byBsb25nIG9wdGlvbnMgYXJlIGFsc28gbWFuZGF0b3J5IG9yICIKI34gIm9wdGlvbmFsIGZvciBhbnkgY29ycmVzcG9uZGluZyBzaG9ydCBvcHRpb25zLiIKI34gbXNnc3RyICIiCiN+ICJPYmxpZ2F0b3Jpc2tlIGVsbGVyIHZhbGdmcmllIGFyZ3VtZW50ZXIgdGlsIGxhbmdlIGZsYWcgZXIgb2dz5SAiCiN+ICJvYmxpZ2F0b3Jpc2tlIGVsbGVyIHZhbGdmcmllIGZvciB0aWxzdmFyZW5kZSBrb3J0ZSBmbGFnLiIKCiN+IG1zZ2lkICJVc2FnZToiCiN+IG1zZ3N0ciAiQnJ1ZzoiCgojfiBtc2dpZCAiICBvcjogIgojfiBtc2dzdHIgIiAgIGVsbGVyOiAgIgoKI34gbXNnaWQgIiBbT1BUSU9OLi4uXSIKI34gbXNnc3RyICIgW0ZMQUcuLi5dIgoKI34gbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBvciBgJXMgLS11c2FnZScgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCiN+IG1zZ3N0ciAiRm9yc/hnIG1lZCAnJXMgLS1oZWxwJyBlbGxlciAnJXMgLS11c2FnZScgZm9yIG1lcmUgaW5mb3JtYXRpb24uXG4iCgojfiBtc2dpZCAiUmVwb3J0IGJ1Z3MgdG8gJXMuXG4iCiN+IG1zZ3N0ciAiIgojfiAiUmFwcG9ydOlyIGZlamwgdGlsICVzLlxuIgojfiAiU2VuZCBzeW5zcHVua3RlciBw5SBvdmVyc+Z0dGVsc2VuIHRpbCA8ZGFuc2tAZGFuc2stZ3J1cHBlbi5kaz5cbiIKCiN+IG1zZ2lkICJnaXZlIHRoaXMgaGVscCBsaXN0IgojfiBtc2dzdHIgImdpdiBkZW5uZSBoauZscGVsaXN0ZSIKCiN+IG1zZ2lkICJnaXZlIGEgc2hvcnQgdXNhZ2UgbWVzc2FnZSIKI34gbXNnc3RyICJnaXYgZW4ga29ydCBtZWRkZWxlbHNlIG9tIGJydWciCgojfiBtc2dpZCAiTkFNRSIKI34gbXNnc3RyICJOQVZOIgoKI34gbXNnaWQgInNldCB0aGUgcHJvZ3JhbSBuYW1lIgojfiBtc2dzdHIgImFuZ2l2IHByb2dyYXZuYXZuZXQiCgojfiBtc2dpZCAiU0VDUyIKI34gbXNnc3RyICJTIgoKI34gbXNnaWQgImhhbmcgZm9yIFNFQ1Mgc2Vjb25kcyAoZGVmYXVsdCAzNjAwKSIKI34gbXNnc3RyICJo5m5nIGkgUyBzZWt1bmRlciAoc29tIHN0YW5kYXJkIDM2MDApIgoKI34gbXNnaWQgInByaW50IHByb2dyYW0gdmVyc2lvbiIKI34gbXNnc3RyICJ1ZHNrcml2IHByb2dyYW12ZXJzaW9uIgoKI34gbXNnaWQgIihQUk9HUkFNIEVSUk9SKSBObyB2ZXJzaW9uIGtub3duIT8iCiN+IG1zZ3N0ciAiKFBST0dSQU1GRUpMKSBJbmdlbiB2ZXJzaW9uIGtlbmR0IT8iCgojfiBtc2dpZCAiJXM6IFRvbyBtYW55IGFyZ3VtZW50c1xuIgojfiBtc2dzdHIgIiVzOiBGb3IgbWFuZ2UgYXJndW1lbnRlclxuIgoKI34gbXNnaWQgIihQUk9HUkFNIEVSUk9SKSBPcHRpb24gc2hvdWxkIGhhdmUgYmVlbiByZWNvZ25pemVkIT8iCiN+IG1zZ3N0ciAiKFBST0dSQU1GRUpMKSBGbGFnZXQgYnVyZGUgduZyZSBibGV2ZXQgZ2Vua2VuZHQhPyIKCiN+IG1zZ2lkICJwcm9ncmFtIGVycm9yIgojfiBtc2dzdHIgInByb2dyYW1mZWpsIgoKI34gbXNnaWQgInN0YWNrIG92ZXJmbG93IgojfiBtc2dzdHIgInN0YWtvdmVybPhiIgoKI34gbXNnaWQgImNhbm5vdCBmaW5kIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSwgdHJ5IHNldHRpbmcgJFRNUERJUiIKI34gbXNnc3RyICJrYW4gaWtrZSBmaW5kZSBldCB0ZW1wb3LmcnQga2F0YWxvZywgZm9yc/hnIGF0IHPmdHRlICRUTVBESVIiCgojfiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgdXNpbmcgdGVtcGxhdGUgXCIlc1wiIgojfiBtc2dzdHIgImthbiBpa2tlIG9wcmV0dGUgZXQgdGVtcG9y5nJ0IGthdGFsb2cgdmVkIGJydWcgYWYgc2thYmVsb25lbiAnJXMnIgoKI34gbXNnaWQgImNhbm5vdCByZW1vdmUgdGVtcG9yYXJ5IGZpbGUgJXMiCiN+IG1zZ3N0ciAia2FuIGlra2UgZmplcm5lIHRlbXBvcuZyIGZpbCAlcyIKCiN+IG1zZ2lkICJjYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBkaXJlY3RvcnkgJXMiCiN+IG1zZ3N0ciAia2FuIGlra2UgZmplcm5lIHRlbXBvcuZydCBrYXRhbG9nICVzIgoKI34gbXNnaWQgImVycm9yIGNsb3NpbmcgZmlsZSIKI34gbXNnc3RyICJmZWpsIHZlZCBsdWtuaW5nIGFmIGZpbCIKCiN+IG1zZ2lkICJwcmVzZXJ2aW5nIHBlcm1pc3Npb25zIGZvciAlcyIKI34gbXNnc3RyICJiZXZhcmVyIHJldHRpZ2hlZGVyIHDlICVzIgoKI34gbXNnaWQgImVycm9yIHdoaWxlIG9wZW5pbmcgXCIlc1wiIGZvciByZWFkaW5nIgojfiBtc2dzdHIgImZlamwgdmVkIOVibmluZyBhZiAnJXMnIGZvciBs5nNuaW5nIgoKI34gbXNnaWQgImVycm9yIHJlYWRpbmcgXCIlc1wiIgojfiBtc2dzdHIgImZlamwgdmVkIGzmc25pbmcgYWYgJyVzJyIKCiN+IG1zZ2lkICJlcnJvciB3cml0aW5nIFwiJXNcIiIKI34gbXNnc3RyICJmZWpsIHZlZCBza3Jpdm5pbmcgYWYgJyVzJyIKCiN+IG1zZ2lkICJlcnJvciBhZnRlciByZWFkaW5nIFwiJXNcIiIKI34gbXNnc3RyICJmZWpsIGVmdGVyIGzmc25pbmcgYWYgJyVzJyIKCiN+IG1zZ2lkICJmZG9wZW4oKSBmYWlsZWQiCiN+IG1zZ3N0ciAiZmRvcGVuKCkgbWlzbHlra2VkZXMiCgojfiBtc2dpZCAiQyMgY29tcGlsZXIgbm90IGZvdW5kLCB0cnkgaW5zdGFsbGluZyBwbmV0IgojfiBtc2dzdHIgIkMjLW92ZXJz5nR0ZXIgaWtrZSBmdW5kZXQsIGZvcnP4ZyBhdCBpbnN0YWxsZXJlIHBuZXQiCgojfiBtc2dpZCAiQyMgdmlydHVhbCBtYWNoaW5lIG5vdCBmb3VuZCwgdHJ5IGluc3RhbGxpbmcgcG5ldCIKI34gbXNnc3RyICJ2aXJ0dWVsIEMjLW1hc2tpbmUgaWtrZSBmdW5kZXQsIGZvcnP4ZyBhdCBpbnN0YWxsZXJlIHBuZXQiCgojfiBtc2dpZCAicmVndWxhciBlbXB0eSBmaWxlIgojfiBtc2dzdHIgInRvbSBub3JtYWwgZmlsIgoKI34gbXNnaWQgInJlZ3VsYXIgZmlsZSIKI34gbXNnc3RyICJub3JtYWwgZmlsIgoKI34gbXNnaWQgImRpcmVjdG9yeSIKI34gbXNnc3RyICJrYXRhbG9nIgoKI34gbXNnaWQgImJsb2NrIHNwZWNpYWwgZmlsZSIKI34gbXNnc3RyICJibG9rc3BlY2lhbGZpbCIKCiN+IG1zZ2lkICJjaGFyYWN0ZXIgc3BlY2lhbCBmaWxlIgojfiBtc2dzdHIgInRlZ25zcGVjaWFsZmlsIgoKI34gbXNnaWQgImZpZm8iCiN+IG1zZ3N0ciAiZmlmbyIKCiN+IG1zZ2lkICJzeW1ib2xpYyBsaW5rIgojfiBtc2dzdHIgInN5bWJvbHNrIGzmbmtlIgoKI34gbXNnaWQgInNvY2tldCIKI34gbXNnc3RyICJzb2trZWwgKHNvY2tldCkiCgojfiBtc2dpZCAibWVzc2FnZSBxdWV1ZSIKI34gbXNnc3RyICJtZWRkZWxlbHNla/giCgojfiBtc2dpZCAic2VtYXBob3JlIgojfiBtc2dzdHIgInNlbWFmb3IiCgojfiBtc2dpZCAic2hhcmVkIG1lbW9yeSBvYmplY3QiCiN+IG1zZ3N0ciAib2JqZWt0IGFmIGRlbHQgaHVrb21tZWxzZSIKCiN+IG1zZ2lkICJ0eXBlZCBtZW1vcnkgb2JqZWN0IgojfiBtc2dzdHIgIm9iamVrdCBhZiB0eXBldCBodWtvbW1lbHNlIgoKI34gbXNnaWQgIndlaXJkIGZpbGUiCiN+IG1zZ3N0ciAibeZya2VsaWcgZmlsIgoKI34gbXNnaWQgIkFkZHJlc3MgZmFtaWx5IGZvciBob3N0bmFtZSBub3Qgc3VwcG9ydGVkIgojfiBtc2dzdHIgIkFkcmVzc2VmYW1pbGllbiBmb3IgduZydHNuYXZuZXQgdW5kZXJzdPh0dGVzIGlra2UiCgojfiBtc2dpZCAiVGVtcG9yYXJ5IGZhaWx1cmUgaW4gbmFtZSByZXNvbHV0aW9uIgojfiBtc2dzdHIgIk1pZGxlcnRpZGlnIGZlamwgaSBuYXZuZW9wc2xhZyIKCiN+IG1zZ2lkICJCYWQgdmFsdWUgZm9yIGFpX2ZsYWdzIgojfiBtc2dzdHIgIkZlamxhZ3RpZyB25nJkaSBmb3IgYWlfZmxhZ3MiCgojfiBtc2dpZCAiTm9uLXJlY292ZXJhYmxlIGZhaWx1cmUgaW4gbmFtZSByZXNvbHV0aW9uIgojfiBtc2dzdHIgIlVyZXBhculyYmFyIGZlamwgaSBuYXZuZW9wc2xhZyIKCiN+IG1zZ2lkICJhaV9mYW1pbHkgbm90IHN1cHBvcnRlZCIKI34gbXNnc3RyICJhaV9mYW1pbHkgdW5kZXJzdPh0dGVzIGlra2UiCgojfiBtc2dpZCAiTWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZSIKI34gbXNnc3RyICJIdWtvbW1lbHNlc2FsbG9rZXJpbmdzZmVqbCIKCiN+IG1zZ2lkICJObyBhZGRyZXNzIGFzc29jaWF0ZWQgd2l0aCBob3N0bmFtZSIKI34gbXNnc3RyICJJbmdlbiBhZHJlc3NlIGFzc29jaWVyZXQgbWVkIHbmcnRzbmF2bmV0IgoKI34gbXNnaWQgIk5hbWUgb3Igc2VydmljZSBub3Qga25vd24iCiN+IG1zZ3N0ciAiTmF2biBlbGxlciB0amVuZXN0ZSBpa2tlIGtlbmR0IgoKI34gbXNnaWQgIlNlcnZuYW1lIG5vdCBzdXBwb3J0ZWQgZm9yIGFpX3NvY2t0eXBlIgojfiBtc2dzdHIgIlNlcnZuYW1lIHVuZGVyc3T4dHRlcyBpa2tlIGZvciBhaV9zb2NrdHlwZSIKCiN+IG1zZ2lkICJhaV9zb2NrdHlwZSBub3Qgc3VwcG9ydGVkIgojfiBtc2dzdHIgImFpX3NvY2t0eXBlIHVuZGVyc3T4dHRlcyBpa2tlIgoKI34gbXNnaWQgIlN5c3RlbSBlcnJvciIKI34gbXNnc3RyICJTeXN0ZW1mZWpsIgoKI34gbXNnaWQgIkFyZ3VtZW50IGJ1ZmZlciB0b28gc21hbGwiCiN+IG1zZ3N0ciAiQXJndW1lbnRidWZmZXJlbiBmb3IgbGlsbGUiCgojfiBtc2dpZCAiUHJvY2Vzc2luZyByZXF1ZXN0IGluIHByb2dyZXNzIgojfiBtc2dzdHIgIkJlYXJiZWpkZXIgcOVn5WVuZGUgYW5tb2RuaW5nIgoKI34gbXNnaWQgIlJlcXVlc3QgY2FuY2VsZWQiCiN+IG1zZ3N0ciAiQW5tb2RuaW5nIGFubnVsZXJldCIKCiN+IG1zZ2lkICJSZXF1ZXN0IG5vdCBjYW5jZWxlZCIKI34gbXNnc3RyICJBbm1vZG5pbmcgaWtrZSBhbm51bGVyZXQiCgojfiBtc2dpZCAiQWxsIHJlcXVlc3RzIGRvbmUiCiN+IG1zZ3N0ciAiQWxsZSBhbm1vZG5pbmdlciB1ZGb4cnQiCgojfiBtc2dpZCAiSW50ZXJydXB0ZWQgYnkgYSBzaWduYWwiCiN+IG1zZ3N0ciAiQWZicnVkdCBhZiBldCBzaWduYWwiCgojfiBtc2dpZCAiUGFyYW1ldGVyIHN0cmluZyBub3QgY29ycmVjdGx5IGVuY29kZWQiCiN+IG1zZ3N0ciAiUGFyYW1ldGVyc3RyZW5nIGlra2Uga29ycmVrdCBrb2RldCIKCiN+IG1zZ2lkICJVbmtub3duIGVycm9yIgojfiBtc2dzdHIgIlVrZW5kdCBmZWpsIgoKI34gbXNnaWQgIiVzOiBvcHRpb24gJy0tJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnRcbiIKI34gbXNnc3RyICIlczogZmxhZ2V0ICctLSVzJyB0YWdlciBpbnRldCBhcmd1bWVudFxuIgoKI34gbXNnaWQgIiVzOiB1bnJlY29nbml6ZWQgb3B0aW9uICctLSVzJ1xuIgojfiBtc2dzdHIgIiVzOiB1a2VuZHQgZmxhZyAnLS0lcydcbiIKCiN+IG1zZ2lkICIlczogb3B0aW9uICctVyAlcycgaXMgYW1iaWd1b3VzXG4iCiN+IG1zZ3N0ciAiJXM6IGZsYWdldCAnLVcgJXMnIGVyIGZsZXJ0eWRpZ3RcbiIKCiN+IG1zZ2lkICIlczogb3B0aW9uICctVyAlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudFxuIgojfiBtc2dzdHIgIiVzOiBmbGFnZXQgJy1XICVzJyB0YWdlciBpbnRldCBhcmd1bWVudFxuIgoKI34gbXNnaWQgImludmFsaWQgc291cmNlX3ZlcnNpb24gYXJndW1lbnQgdG8gY29tcGlsZV9qYXZhX2NsYXNzIgojfiBtc2dzdHIgInVneWxkaWd0IHNvdXJjZV92ZXJzaW9uLWFyZ3VtZW50IHRpbCBjb21waWxlX2phdmFfY2xhc3MiCgojfiBtc2dpZCAiaW52YWxpZCB0YXJnZXRfdmVyc2lvbiBhcmd1bWVudCB0byBjb21waWxlX2phdmFfY2xhc3MiCiN+IG1zZ3N0ciAidWd5bGRpZ3QgdGFyZ2V0X3ZlcnNpb24tYXJndW1lbnQgdGlsIGNvbXBpbGVfamF2YV9jbGFzcyIKCiN+IG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIFwiJXNcIiIKI34gbXNnc3RyICJkZXQgZ2lrIGlra2UgYXQgb3ByZXR0ZSAnJXMnIgoKI34gbXNnaWQgImVycm9yIHdoaWxlIHdyaXRpbmcgXCIlc1wiIGZpbGUiCiN+IG1zZ3N0ciAiZmVqbCB2ZWQgc2tyaXZuaW5nIGFmIGZpbGVuICclcyciCgojfiBtc2dpZCAiSmF2YSBjb21waWxlciBub3QgZm91bmQsIHRyeSBpbnN0YWxsaW5nIGdjaiBvciBzZXQgJEpBVkFDIgojfiBtc2dzdHIgIiIKI34gIkphdmFvdmVyc+Z0dGVyIGlra2UgZnVuZGV0LCBmb3Jz+GcgYXQgaW5zdGFsbGVyZSBnY2ogZWxsZXIgc+Z0dGUgJEpBVkFDIgoKI34gbXNnaWQgIkphdmEgdmlydHVhbCBtYWNoaW5lIG5vdCBmb3VuZCwgdHJ5IGluc3RhbGxpbmcgZ2lqIG9yIHNldCAkSkFWQSIKI34gbXNnc3RyICIiCiN+ICJWaXJ0dWVsIEphdmFtYXNraW5lIGlra2UgZnVuZGV0LCBmb3Jz+GcgYXQgaW5zdGFsbGVyZSBnaWogZWxsZXIgc+Z0dGUgIgojfiAiJEpBVkEiCgojfiBtc2dpZCAiJXMgc3VicHJvY2VzcyBJL08gZXJyb3IiCiN+IG1zZ3N0ciAiJXMtdW5kZXJwcm9jZXMgSS9PLWZlamwiCgojfiBtc2dpZCAiY2Fubm90IGNoYW5nZSBwZXJtaXNzaW9ucyBvZiAlcyIKI34gbXNnc3RyICJrYW4gaWtrZSDmbmRyZSByZXR0aWdoZWRlciBw5SAlcyIKCiN+IG1zZ2lkICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIKI34gbXNnc3RyICJrYW4gaWtrZSBvcHJldHRlIGthdGFsb2dldCAlcyIKCiN+IG1zZ2lkICJ1bmFibGUgdG8gcmVjb3JkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiN+IG1zZ3N0ciAia2FuIGlra2Ugbm90ZXJlIGFrdHVlbHQgYXJiZWpkc2thdGFsb2ciCgojfiBtc2dpZCAiZmFpbGVkIHRvIHJldHVybiB0byBpbml0aWFsIHdvcmtpbmcgZGlyZWN0b3J5IgojfiBtc2dzdHIgImt1bm5lIGlra2UgZ+UgdGlsYmFnZSB0aWwgZGV0IG9wcmluZGVsaWdlIGFyYmVqZHNrYXRhbG9nIgoKI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuIC9kZXYvemVybyBmb3IgcmVhZCIKI34gbXNnc3RyICJNaXNseWtrZWRlcyBtZWQgYXQg5WJuZSAvZGV2L3plcm8gZm9yIGzmc25pbmciCgojfiBtc2dpZCAiY3JlYXRpb24gb2YgcmVhZGluZyB0aHJlYWQgZmFpbGVkIgojfiBtc2dzdHIgIm9wcmV0dGVsc2UgYWYgbOZzZXRy5WQgbWlzbHlra2VkZXMiCgojfiBtc2dpZCAiY2Fubm90IHNldCB1cCBub25ibG9ja2luZyBJL08gdG8gJXMgc3VicHJvY2VzcyIKI34gbXNnc3RyICJrYW4gaWtrZSBvcHPmdHRlIGlra2UtYmxva2VyZW5kZSBJL08gdGlsICVzLXVuZGVycHJvY2VzIgoKI34gbXNnaWQgImNvbW11bmljYXRpb24gd2l0aCAlcyBzdWJwcm9jZXNzIGZhaWxlZCIKI34gbXNnc3RyICJrb21tdW5pa2F0aW9uIG1lZCAlcy11bmRlcnByb2NlcyBtaXNseWtrZWRlcyIKCiN+IG1zZ2lkICJ3cml0ZSB0byAlcyBzdWJwcm9jZXNzIGZhaWxlZCIKI34gbXNnc3RyICJza3Jpdm5pbmcgdGlsICVzLXVuZGVycHJvY2VzIG1pc2x5a2tlZGVzIgoKI34gbXNnaWQgInJlYWQgZnJvbSAlcyBzdWJwcm9jZXNzIGZhaWxlZCIKI34gbXNnc3RyICJs5nNuaW5nIGZyYSAlcy11bmRlcnByb2NlcyBtaXNseWtrZWRlcyIKCiN+IG1zZ2lkICJzdWJwcm9jZXNzICVzIHRlcm1pbmF0ZWQgd2l0aCBleGl0IGNvZGUgJWQiCiN+IG1zZ3N0ciAidW5kZXJwcm9jZXMgJXMgYWZzbHV0dGV0IG1lZCBzbHV0c3RhdHVzICVkIgoKI34gbXNnaWQgImNyZWF0aW9uIG9mIHRocmVhZHMgZmFpbGVkIgojfiBtc2dzdHIgIm9wcmV0dGVsc2UgYWYgdHLlZGUgbWlzbHlra2VkZXMiCgojfiBtc2dpZCAiJXMgc3VicHJvY2VzcyB0ZXJtaW5hdGVkIHdpdGggZXhpdCBjb2RlICVkIgojfiBtc2dzdHIgIiVzLXVuZGVycHJvY2VzIGFmc2x1dHRlZCBtZWQgc2x1dHN0YXR1cyAlZCIKCiN+IG1zZ2lkICJTdWNjZXNzIgojfiBtc2dzdHIgIkx5a2tlZGVzIgoKI34gbXNnaWQgIk5vIG1hdGNoIgojfiBtc2dzdHIgIkluZ2VuIHRy5mZmZXIiCgojfiBtc2dpZCAiSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24iCiN+IG1zZ3N0ciAiRmVqbGFndGlndCByZWd1bOZydCB1ZHRyeWsiCgojfiBtc2dpZCAiSW52YWxpZCBjb2xsYXRpb24gY2hhcmFjdGVyIgojfiBtc2dzdHIgIlVneWxkaWd0IHNvcnRlcmluZ3N0ZWduIgoKI34gbXNnaWQgIkludmFsaWQgY2hhcmFjdGVyIGNsYXNzIG5hbWUiCiN+IG1zZ3N0ciAiVWd5bGRpZ3QgdGVnbmtsYXNzZW5hdm4iCgojfiBtc2dpZCAiVHJhaWxpbmcgYmFja3NsYXNoIgojfiBtc2dzdHIgIkFmc2x1dHRlbmRlIGJhZ2zmbnMgc2ty5XN0cmVnIgoKI34gbXNnaWQgIkludmFsaWQgYmFjayByZWZlcmVuY2UiCiN+IG1zZ3N0ciAiVWd5bGRpZyBiYWd1ZHJlZmVyZW5jZSIKCiN+IG1zZ2lkICJVbm1hdGNoZWQgWyBvciBbXiIKI34gbXNnc3RyICJFbnNvbXQgWyBlbGxlciBbXiIKCiN+IG1zZ2lkICJVbm1hdGNoZWQgKCBvciBcXCgiCiN+IG1zZ3N0ciAiRW5zb210ICggZWxsZXIgXFwoIgoKI34gbXNnaWQgIlVubWF0Y2hlZCBcXHsiCiN+IG1zZ3N0ciAiRW5zb210IFxcXFx7IgoKI34gbXNnaWQgIkludmFsaWQgY29udGVudCBvZiBcXHtcXH0iCiN+IG1zZ3N0ciAiVWd5bGRpZ3QgaW5kaG9sZCBpIFxce1xcfSIKCiN+IG1zZ2lkICJJbnZhbGlkIHJhbmdlIGVuZCIKI34gbXNnc3RyICJVZ3lsZGlndCBpbnRlcnZhbHNsdXQiCgojfiBtc2dpZCAiTWVtb3J5IGV4aGF1c3RlZCIKI34gbXNnc3RyICJIdWtvbW1lbHNlIG9wYnJ1Z3QiCgojfiBtc2dpZCAiSW52YWxpZCBwcmVjZWRpbmcgcmVndWxhciBleHByZXNzaW9uIgojfiBtc2dzdHIgIkZlamxhZ3RpZ3QgZm9yZWflZW5kZSByZWd1bOZydCB1ZHRyeWsiCgojfiBtc2dpZCAiUHJlbWF0dXJlIGVuZCBvZiByZWd1bGFyIGV4cHJlc3Npb24iCiN+IG1zZ3N0ciAiRm9yIHRpZGxpZyBhZnNsdXRuaW5nIGFmIHJlZ3Vs5nJ0IHVkdHJ5ayIKCiN+IG1zZ2lkICJSZWd1bGFyIGV4cHJlc3Npb24gdG9vIGJpZyIKI34gbXNnc3RyICJGb3Igc3RvcnQgcmVndWzmcnQgdWR0cnlrIgoKI34gbXNnaWQgIlVubWF0Y2hlZCApIG9yIFxcKSIKI34gbXNnc3RyICJFbnNvbXQgKSBlbGxlciBcXCkiCgojfiBtc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgojfiBtc2dzdHIgIkludGV0IGZvcmVn5WVuZGUgcmVndWzmcnQgdWR0cnlrIgoKI34gbXNnaWQgIl5beVldIgojfiBtc2dzdHIgIl5beVlqSl0iCgojfiBtc2dpZCAiXltuTl0iCiN+IG1zZ3N0ciAiXltuTl0iCgojfiBtc2dpZCAic2V0dGluZyBwZXJtaXNzaW9ucyBmb3IgJXMiCiN+IG1zZ3N0ciAi5m5kcmVyIHJldHRpZ2hlZGVyIHDlICVzIgoKI34gbXNnaWQgIkhhbmd1cCIKI34gbXNnc3RyICJMYWd0IHDlIgoKI34gbXNnaWQgIkludGVycnVwdCIKI34gbXNnc3RyICJBZmJydWR0IgoKI34gbXNnaWQgIlF1aXQiCiN+IG1zZ3N0ciAiQWZzbHV0IgoKI34gbXNnaWQgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iCiN+IG1zZ3N0ciAiVXRpbGxhZHQgaW5zdHJ1a3Rpb24iCgojfiBtc2dpZCAiVHJhY2UvYnJlYWtwb2ludCB0cmFwIgojfiBtc2dzdHIgIlNwb3JpbmdzLS9hZmJydWRzcHVua3RzZuZsZGUiCgojfiBtc2dpZCAiQWJvcnRlZCIKI34gbXNnc3RyICJBZmJydWR0IChhYm9ydCkiCgojfiBtc2dpZCAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgojfiBtc2dzdHIgIlVuZHRhZ2Vsc2UgdmVkIGZseWRlbmRlIHRhbCIKCiN+IG1zZ2lkICJLaWxsZWQiCiN+IG1zZ3N0ciAiRHLmYnQiCgojfiBtc2dpZCAiQnVzIGVycm9yIgojfiBtc2dzdHIgIkJ1c2ZlamwiCgojfiBtc2dpZCAiU2VnbWVudGF0aW9uIGZhdWx0IgojfiBtc2dzdHIgIlNlZ21lbnRlcmluZ3NmZWpsIgoKI34gbXNnaWQgIkJyb2tlbiBwaXBlIgojfiBtc2dzdHIgIkJydWR0IGRhdGFrYW5hbCIKCiN+IG1zZ2lkICJUZXJtaW5hdGVkIgojfiBtc2dzdHIgIkFmc2x1dHRldCIKCiN+IG1zZ2lkICJVcmdlbnQgSS9PIGNvbmRpdGlvbiIKI34gbXNnc3RyICJIYXN0ZW5kZSBJL08tc2l0dWF0aW9uIgoKI34gbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCiN+IG1zZ3N0ciAiU3RvcHBldCAoc2lnbmFsKSIKCiN+IG1zZ2lkICJTdG9wcGVkIgojfiBtc2dzdHIgIlN0b3BwZXQiCgojfiBtc2dpZCAiQ29udGludWVkIgojfiBtc2dzdHIgIkdlbm9wdGFnZXQiCgojfiBtc2dpZCAiQ2hpbGQgZXhpdGVkIgojfiBtc2dzdHIgIkJhcm4gYWZzbHV0dGVkZSIKCiN+IG1zZ2lkICJTdG9wcGVkICh0dHkgaW5wdXQpIgojfiBtc2dzdHIgIlN0b3BwZXQgKHRlcm1pbmFsbOZzbmluZykiCgojfiBtc2dpZCAiU3RvcHBlZCAodHR5IG91dHB1dCkiCiN+IG1zZ3N0ciAiU3RvcHBldCAodGVybWluYWxza3Jpdm5pbmcpIgoKI34gbXNnaWQgIkkvTyBwb3NzaWJsZSIKI34gbXNnc3RyICJJL08gbXVsaWd0IgoKI34gbXNnaWQgIkNQVSB0aW1lIGxpbWl0IGV4Y2VlZGVkIgojfiBtc2dzdHIgIkdy5m5zZSBw5SBDUFUtdGlkIG92ZXJza3JlZGV0IgoKI34gbXNnaWQgIkZpbGUgc2l6ZSBsaW1pdCBleGNlZWRlZCIKI34gbXNnc3RyICJHcuZuc2UgcOUgZmlsc3T4cnJlbHNlIG92ZXJza3JlZGV0IgoKI34gbXNnaWQgIlZpcnR1YWwgdGltZXIgZXhwaXJlZCIKI34gbXNnc3RyICJBbGFybWtsb2trZSAtIHZpcnR1ZWwgdGlkIC0gdWRs+GIiCgojfiBtc2dpZCAiUHJvZmlsaW5nIHRpbWVyIGV4cGlyZWQiCiN+IG1zZ3N0ciAiUHJvZmlsZXJpbmdza2xva2tlIHVkbPhiIgoKI34gbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgojfiBtc2dzdHIgIsZuZHJldCB2aW5kdWUiCgojfiBtc2dpZCAiVXNlciBkZWZpbmVkIHNpZ25hbCAxIgojfiBtc2dzdHIgIkJydWdlcnNpZ25hbCAxIgoKI34gbXNnaWQgIlVzZXIgZGVmaW5lZCBzaWduYWwgMiIKI34gbXNnc3RyICJCcnVnZXJzaWduYWwgMiIKCiN+IG1zZ2lkICJFTVQgdHJhcCIKI34gbXNnc3RyICJFbXVsYXRvcmbmbGRlIgoKI34gbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKI34gbXNnc3RyICJGZWpsYWd0aWd0IHN5c3RlbWthbGQiCgojfiBtc2dpZCAiU3RhY2sgZmF1bHQiCiN+IG1zZ3N0ciAiU3Rha2ZlamwiCgojfiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKI34gbXNnc3RyICJJbmZvcm1hdGlvbnNhbm1vZG5pbmciCgojfiBtc2dpZCAiUG93ZXIgZmFpbHVyZSIKI34gbXNnc3RyICJTdHL4bWFmYnJ1ZCIKCiN+IG1zZ2lkICJSZXNvdXJjZSBsb3N0IgojfiBtc2dzdHIgIlRhYnQgcmVzdXJzZSIKCiN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHRvIGEgY2xvc2VkIHBpcGUgb3Igc29ja2V0IgojfiBtc2dzdHIgImZlamwgdmVkIHNrcml2bmluZyB0aWwgZW4gbHVra2V0IGRhdGFrYW5hbCBlbGxlciBzb2trZWwiCgojfiBtc2dpZCAiUmVhbC10aW1lIHNpZ25hbCAlZCIKI34gbXNnc3RyICJSZWFsdGlkc2lnbmFsICVkIgoKI34gbXNnaWQgIlVua25vd24gc2lnbmFsICVkIgojfiBtc2dzdHIgIlVrZW5kdCBzaWduYWwgJWQiCgojfiBtc2dpZCAiaWNvbnYgZnVuY3Rpb24gbm90IHVzYWJsZSIKI34gbXNnc3RyICJpY29udi1mdW5rdGlvbiBpa2tlIGJydWdiYXIiCgojfiBtc2dpZCAiaWNvbnYgZnVuY3Rpb24gbm90IGF2YWlsYWJsZSIKI34gbXNnc3RyICJpY29udi1mdW5rdGlvbiBpa2tlIHRpbGfmbmdlbGlnIgoKI34gbXNnaWQgImNoYXJhY3RlciBvdXQgb2YgcmFuZ2UiCiN+IG1zZ3N0ciAidGVnbiB1ZGVuZm9yIGludGVydmFsIgoKI34gbXNnaWQgImNhbm5vdCBjb252ZXJ0IFUrJTA0WCB0byBsb2NhbCBjaGFyYWN0ZXIgc2V0IgojfiBtc2dzdHIgImthbiBpa2tlIGtvbnZlcnRlcmUgVSslMDRYIHRpbCBsb2thbHQgdGVnbnPmdCIKCiN+IG1zZ2lkICJjYW5ub3QgY29udmVydCBVKyUwNFggdG8gbG9jYWwgY2hhcmFjdGVyIHNldDogJXMiCiN+IG1zZ3N0ciAia2FuIGlra2Uga29udmVydGVyZSBVKyUwNFggdGlsIGxva2FsdCB0ZWduc+Z0OiAlcyIKCiN+IG1zZ2lkICJpbnZhbGlkIHVzZXIiCiN+IG1zZ3N0ciAidWd5bGRpZyBicnVnZXIiCgojfiBtc2dpZCAiaW52YWxpZCBncm91cCIKI34gbXNnc3RyICJ1Z3lsZGlnIGdydXBwZSIKCiN+IG1zZ2lkICJpbnZhbGlkIHNwZWMiCiN+IG1zZ3N0ciAidWd5bGRpZyBzcGVjaWZpa2F0aW9uIgoKI34gbXNnaWQgInVuYWJsZSB0byBkaXNwbGF5IGVycm9yIG1lc3NhZ2UiCiN+IG1zZ3N0ciAia2FuIGlra2UgdmlzZSBmZWpsbWVkZGVsZWxzZSIKCiN+IG1zZ2lkICIlcyBob21lIHBhZ2U6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvJXMvPlxuIgojfiBtc2dzdHIgIiVzIGhqZW1tZXNpZGU6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvJXMvPlxuIgoKI34gbXNnaWQgInN0ZGluIgojfiBtc2dzdHIgInN0YW5kYXJkIGluZCIKCiN+IG1zZ2lkICJzdGRvdXQiCiN+IG1zZ3N0ciAic3RhbmRhcmQgdWQiCgojfiBtc2dpZCAic3RkZXJyIgojfiBtc2dzdHIgInN0YW5kYXJkIGZlamwiCgojfiBtc2dpZCAidW5rbm93biBzdHJlYW0iCiN+IG1zZ3N0ciAidWtlbmR0IHN0cvhtIgoKI34gbXNnaWQgImZhaWxlZCB0byByZW9wZW4gJXMgd2l0aCBtb2RlICVzIgojfiBtc2dzdHIgImt1bm5lIGlra2UgZ2Vu5WJuZSAlcyBpIHRpbHN0YW5kICVzIgoKI34gbXNnaWQgInN0cmluZyBjb21wYXJpc29uIGZhaWxlZCIKI34gbXNnc3RyICJzdHJlbmdzYW1tZW5saWduaW5nIG1pc2x5a2tlZGVzIgoKI34gbXNnaWQgIlNldCBMQ19BTEw9J0MnIHRvIHdvcmsgYXJvdW5kIHRoZSBwcm9ibGVtLiIKI34gbXNnc3RyICJT5nQgTENfQUxMPSdDJyBmb3IgYXQgb21n5SBwcm9ibGVtZXQuIgoKI34gbXNnaWQgIlRoZSBzdHJpbmdzIGNvbXBhcmVkIHdlcmUgJXMgYW5kICVzLiIKI34gbXNnc3RyICJEZSBzYW1tZW5saWduZWRlIHN0cmVuZ2UgdmFyICVzIG9nICVzLiIKCiN+IG1zZ2lkICJjYW5ub3QgcGVyZm9ybSBmb3JtYXR0ZWQgb3V0cHV0IgojfiBtc2dzdHIgImthbiBpa2tlIHVkZvhyZSBmb3JtYXRlcmV0IHVkc2tyaWZ0IgoKI34gbXNnaWQgImludmFsaWQgJXMlcyBhcmd1bWVudCBgJXMnIgojfiBtc2dzdHIgImZlamxhZ3RpZ3QgJXMlcy1hcmd1bWVudCAnJXMnIgoKI34gbXNnaWQgImludmFsaWQgc3VmZml4IGluICVzJXMgYXJndW1lbnQgYCVzJyIKI34gbXNnc3RyICJmZWpsYWd0aWd0IHN1ZmZpa3MgaSAlcyVzLWFyZ3VtZW50ICclcyciCgojfiBtc2dpZCAiJXMlcyBhcmd1bWVudCBgJXMnIHRvbyBsYXJnZSIKI34gbXNnc3RyICIlcyVzIGFyZ3VtZW50ICclcycgZXIgZm9yIHN0b3J0Igo=