LyoKICogTm90ZXBhZCAoR2VybWFuIHJlc291cmNlcykKICoKICogQ29weXJpZ2h0IDE5OTcgTWFyY2VsIEJhdXIgPG1iYXVyQGcyNi5ldGh6LmNoPgogKi8KCiNkZWZpbmUgTEFOR1VBR0VfSUQgICAgICAgICAgICAgICAgICBEZQojZGVmaW5lIExBTkdVQUdFX05VTUJFUiAgICAgICAgICAgICAgMgojZGVmaW5lIExBTkdVQUdFX01FTlVfSVRFTSAgICAgICAgICAgIiZEZXV0c2NoIgoKLyogTWVudSAqLwoKI2RlZmluZSBNRU5VX0ZJTEUgICAgICAgICAgICAgICAgICAgICImRGF0ZWkiCiNkZWZpbmUgTUVOVV9GSUxFX05FVyAgICAgICAgICAgICAgICAiJk5ldS4uLiIKI2RlZmluZSBNRU5VX0ZJTEVfT1BFTiAgICAgICAgICAgICAgICLWJmZmbmVuLi4uIgojZGVmaW5lIE1FTlVfRklMRV9TQVZFICAgICAgICAgICAgICAgIiZTcGVpY2hlcm4iCiNkZWZpbmUgTUVOVV9GSUxFX1NBVkVBUyAgICAgICAgICAgICAiU3BlaWNoZXJuICZ1bnRlci4uLiIKI2RlZmluZSBNRU5VX0ZJTEVfUFJJTlQgICAgICAgICAgICAgICImRHJ1Y2tlbiIKI2RlZmluZSBNRU5VX0ZJTEVfUEFHRVNFVFVQICAgICAgICAgICJTZWl0ZSBlaW4mcmljaHRlbi4uLiIKI2RlZmluZSBNRU5VX0ZJTEVfUFJJTlRTRVRVUCAgICAgICAgICJEcnVja2VyJmVpbnJpY2h0dW5nLi4uIgojZGVmaW5lIE1FTlVfRklMRV9FWElUICAgICAgICAgICAgICAgIiZCZWVuZGVuIgoKI2RlZmluZSBNRU5VX0VESVQgICAgICAgICAgICAgICAgICAgICImQmVhcmJlaXRlbiIKI2RlZmluZSBNRU5VX0VESVRfVU5ETyAgICAgICAgICAgICAgICImUvxja2fkbmdpZ1x0U3RyZytaIgojZGVmaW5lIE1FTlVfRURJVF9DVVQgICAgICAgICAgICAgICAgIiZBdXNzY2huZWlkZW5cdFN0cmcrWCIKI2RlZmluZSBNRU5VX0VESVRfQ09QWSAgICAgICAgICAgICAgICImS29waWVyZW5cdFN0cmcrQyIKI2RlZmluZSBNRU5VX0VESVRfUEFTVEUgICAgICAgICAgICAgICImRWluZvxnZW5cdFN0cmcrViIKI2RlZmluZSBNRU5VX0VESVRfREVMRVRFICAgICAgICAgICAgICImTPZzY2hlblx0RW50ZiIKI2RlZmluZSBNRU5VX0VESVRfU0VMRUNUQUxMICAgICAgICAgICJBbGxlcyAmbWFya2llcmVuIgojZGVmaW5lIE1FTlVfRURJVF9USU1FREFURSAgICAgICAgICAgIiZVaHJ6ZWl0L0RhdHVtXHRGNSIKI2RlZmluZSBNRU5VX0VESVRfV1JBUCAgICAgICAgICAgICAgICImWmVpbGVudW1icnVjaCIKCiNkZWZpbmUgTUVOVV9TRUFSQ0ggICAgICAgICAgICAgICAgICAiJlN1Y2hlbiIKI2RlZmluZSBNRU5VX1NFQVJDSF9TRUFSQ0ggICAgICAgICAgICJTdWNoZW4uLi4iCiNkZWZpbmUgTUVOVV9TRUFSQ0hfTkVYVCAgICAgICAgICAgICAiJldlaXRlcnN1Y2hlblx0RjMiCgojZGVmaW5lIE1FTlVfTEFOR1VBR0UgICAgICAgICAgICAgICAgIiZTcHJhY2hlIgoKI2RlZmluZSBNRU5VX0hFTFAgICAgICAgICAgICAgICAgICAgICImSGlsZmUiCiNkZWZpbmUgTUVOVV9IRUxQX0NPTlRFTlRTICAgICAgICAgICAiJkluaGFsdCIKI2RlZmluZSBNRU5VX0hFTFBfU0VBUkNIICAgICAgICAgICAgICImU3VjaGVuLi4uIgojZGVmaW5lIE1FTlVfSEVMUF9IRUxQX09OX0hFTFAgICAgICAgIiZIaWxmZSBiZW51dHplbiIKCiNkZWZpbmUgTUVOVV9JTkZPICAgICAgICAgICAgICAgICAgICAiSW5mJm8uLi4iCiNkZWZpbmUgTUVOVV9JTkZPX0xJQ0VOU0UgICAgICAgICAgICAiJkxpemVueiIKI2RlZmluZSBNRU5VX0lORk9fTk9fV0FSUkFOVFkgICAgICAgICImS0VJTkUgR0FSQU5USUUiCiNkZWZpbmUgTUVOVV9JTkZPX0FCT1VUX1dJTkUgICAgICAgICAiJtxiZXIgV0lORSIKCgovKiBEaWFsb2dzICovCgojZGVmaW5lIERJQUxPR19PSyAgICAgICAgICAgICAgICAgICAgIk9LIgojZGVmaW5lIERJQUxPR19DQU5DRUwgICAgICAgICAgICAgICAgIkFiYnJlY2hlbiIKI2RlZmluZSBESUFMT0dfQlJPV1NFICAgICAgICAgICAgICAgICImRHVyY2hzdWNoZW4uLi4iCiNkZWZpbmUgRElBTE9HX0hFTFAgICAgICAgICAgICAgICAgICAiJkhpbGZlIgoKI2RlZmluZSBESUFMT0dfUEFHRVNFVFVQX0NBUFRJT04gICAgICJTZWl0ZSBlaW5yaWNodGVuIgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfSEVBRCAgICAgICAgIiZLb3BmemVpbGU6IgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfVEFJTCAgICAgICAgIiZGdd96ZWlsZToiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9CT1JERVJTICAgICAiUuRuZGVyIgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfTEVGVCAgICAgICAgIiZMaW5rczoiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9SSUdIVCAgICAgICAiJlJlY2h0czoiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9UT1AgICAgICAgICAiJk9iZW46IgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfQk9UVE9NICAgICAgIiZVbnRlbjoiCgoKLyogU3RyaW5ncyAqLwojZGVmaW5lIFNUUklOR19OT1RFUEFEICAgICAgICAgICAgICAgIkVkaXRvciIKI2RlZmluZSBTVFJJTkdfRVJST1IgICAgICAgICAgICAgICAgICJGRUhMRVIiCiNkZWZpbmUgU1RSSU5HX1dBUk5JTkcgICAgICAgICAgICAgICAiQUNIVFVORyIKI2RlZmluZSBTVFJJTkdfSU5GTyAgICAgICAgICAgICAgICAgICJJbmZvcm1hdGlvbiIKCiNkZWZpbmUgU1RSSU5HX1VOVElUTEVEICAgICAgICAgICAgICAiKHVuYmVuYW5udCkiCgojZGVmaW5lIFNUUklOR19BTExGSUxFUyAgICAgICAgICAgICAgIkFsbGUgRGF0ZWllbiAoKi4qKSIKI2RlZmluZSBTVFJJTkdfVEVYVEZJTEVTICAgICAgICAgICAgICJUZXh0ZGF0ZWllbiAoKi50eHQpIgoKI2RlZmluZSBTVFJJTkdfVE9PTEFSR0UgICAgICAgIiclcycgaXN0IHp1IGdyb3NzIGb8ciBkZW4gRWRpdG9yXG4gXApCZW51dHplbiBTaWUgYml0dGUgZWluZW4gYW5kZXJlbiBFZGl0b3IsIHVtIGRpZXNlIERhdGVpIHp1IGJlYXJiZWl0ZW4uIgoKI2RlZmluZSBTVFJJTkdfTk9URVhUICAgICAgICAgIlNpZSBoYWJlbiBrZWluZW4gVGV4dCBlaW5nZWdlYmVuLCBkZXIgXApnZXNwZWljaGVydFxuIHdlcmRlbiBr9m5udGUuIEdlYmVuIFNpZSBUZXh0IGVpbiwgdW5kIHZlcnN1Y2hlbiBTaWUgZXMgXApcbmVybmV1dC4iCgojZGVmaW5lIFNUUklOR19OT1RGT1VORCAgICAgICAiJyVzJyBrYW5uIG5pY2h0IGdlZnVuZGVuIHdlcmRlbi4iCgojZGVmaW5lIFNUUklOR19PVVRfT0ZfTUVNT1JZICAiTmljaHQgZ2Vu/GdlbmQgQXJiZWl0c3NwZWljaGVyLCBcCnVtIGRpZXNlIEZ1bmt0aW9uIFxuYWJ6dXNjaGxpZd9lbi4gQmVlbmRlbiBTaWUgZWluZSBvZGVyIG1laHJlcmUgXApcbkFud2VuZHVuZ2VuLCB1bSBkZW4gdmVyZvxnYmFyZW4gQXJiZWl0c3NwZWljaGVyIHp1IFxuZXJo9mhlbi4iCgojaW5jbHVkZSAibm90ZXBhZC5yYyIK