LyoKICogIE5vdGVwYWQgKEVuZ2xpc2ggcmVzb3VyY2VzKQogKgogKiAgQ29weXJpZ2h0IDE5OTkgTWFyY2VsIEJhdXIgPGFsdmVzQGNvcnJlaW9uZXQuY29tLmJyPgogKi8KCiNkZWZpbmUgTEFOR1VBR0VfSUQgICAgICAgICAgICAgICAgICAgICBQdAojZGVmaW5lIExBTkdVQUdFX05VTUJFUiAgICAgICAgICAgICAgICAgMTYKI2RlZmluZSBMQU5HVUFHRV9NRU5VX0lURU0gICAgICAgICAgICAgICImUG9ydHVndepzIgoKCi8qIE1lbnUgKi8KCiNkZWZpbmUgTUVOVV9GSUxFICAgICAgICAgICAgICAgICAgICAgICAiJkFycXVpdm8iCiNkZWZpbmUgTUVOVV9GSUxFX05FVyAgICAgICAgICAgICAgICAgICAiJk5vdm8uLi4iCiNkZWZpbmUgTUVOVV9GSUxFX09QRU4gICAgICAgICAgICAgICAgICAiQSZicmlyIgojZGVmaW5lIE1FTlVfRklMRV9TQVZFICAgICAgICAgICAgICAgICAgIiZTYWx2YXIiCiNkZWZpbmUgTUVOVV9GSUxFX1NBVkVBUyAgICAgICAgICAgICAgICAiU2FsdmFyICZjb21vLi4uIgojZGVmaW5lIE1FTlVfRklMRV9QUklOVCAgICAgICAgICAgICAgICAgIiZJbXByaW1pciIKI2RlZmluZSBNRU5VX0ZJTEVfUEFHRVNFVFVQICAgICAgICAgICAgICJDJm9uZmlndXJhciBQ4WdpbmEuLi4iCiNkZWZpbmUgTUVOVV9GSUxFX1BSSU5UU0VUVVAgICAgICAgICAgICAiQ29uZmlndXJhciBJJm1wcmVzc29yYS4uLiIKI2RlZmluZSBNRU5VX0ZJTEVfRVhJVCAgICAgICAgICAgICAgICAgICImU2FpciIKCiNkZWZpbmUgTUVOVV9FRElUICAgICAgICAgICAgICAgICAgICAgICAiJkVkaXRhciIKI2RlZmluZSBNRU5VX0VESVRfVU5ETyAgICAgICAgICAgICAgICAgICImRGVzZmF6ZXJcdEN0cmwrWiIKI2RlZmluZSBNRU5VX0VESVRfQ1VUICAgICAgICAgICAgICAgICAgICJDJm9ydGFyXHRDdHJsK1giCiNkZWZpbmUgTUVOVV9FRElUX0NPUFkgICAgICAgICAgICAgICAgICAiJkNvcGlhclx0Q3RybCtDIgojZGVmaW5lIE1FTlVfRURJVF9QQVNURSAgICAgICAgICAgICAgICAgIkNvJmxhclx0Q3RybCtWIgojZGVmaW5lIE1FTlVfRURJVF9ERUxFVEUgICAgICAgICAgICAgICAgIiZEZWxldGVcdERlbCIKI2RlZmluZSBNRU5VX0VESVRfU0VMRUNUQUxMICAgICAgICAgICAgICJTZWxlY2lvbmFyICZUdWRvIgojZGVmaW5lIE1FTlVfRURJVF9USU1FREFURSAgICAgICAgICAgICAgIiZEYXRhL0hvcmFcdEY1IgojZGVmaW5lIE1FTlVfRURJVF9XUkFQICAgICAgICAgICAgICAgICAgIiZRdWVicmFyIGxpbmhhcyBsb25nYXMiCgojZGVmaW5lIE1FTlVfU0VBUkNIICAgICAgICAgICAgICAgICAgICAgIiZQZXNxdWlzYSIKI2RlZmluZSBNRU5VX1NFQVJDSF9TRUFSQ0ggICAgICAgICAgICAgICJQZXNxdWlzYXIuLi4iCiNkZWZpbmUgTUVOVV9TRUFSQ0hfTkVYVCAgICAgICAgICAgICAgICAiJlByb2N1cmFyIFBy83hpbWFcdEYzIgoKI2RlZmluZSBNRU5VX0xBTkdVQUdFICAgICAgICAgICAgICAgICAgICImTGluZ3VhZ2VtIgoKI2RlZmluZSBNRU5VX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICImQWp1ZGEiCiNkZWZpbmUgTUVOVV9IRUxQX0NPTlRFTlRTICAgICAgICAgICAgICAiJkNvbnRl+mRvIgojZGVmaW5lIE1FTlVfSEVMUF9TRUFSQ0ggICAgICAgICAgICAgICAgIiZQcm9jdXJhci4uLiIKI2RlZmluZSBNRU5VX0hFTFBfSEVMUF9PTl9IRUxQICAgICAgICAgICImQWp1ZGEgbmEgYWp1ZGEiCgojZGVmaW5lIE1FTlVfSU5GTyAgICAgICAgICAgICAgICAgICAgICAgIkluZiZvcm1h5/Vlcy4uLiIKI2RlZmluZSBNRU5VX0lORk9fTElDRU5TRSAgICAgICAgICAgICAgICImTGljZW7nYSIKI2RlZmluZSBNRU5VX0lORk9fTk9fV0FSUkFOVFkgICAgICAgICAgICImU0VNIEdBUkFOVElBIgojZGVmaW5lIE1FTlVfSU5GT19BQk9VVF9XSU5FICAgICAgICAgICAgIiZTb2JyZSBXaW5lIgoKCi8qIERpYWxvZ3MgKi8KCiNkZWZpbmUgRElBTE9HX09LICAgICAgICAgICAgICAgICAgICAgICAiT0siCiNkZWZpbmUgRElBTE9HX0NBTkNFTCAgICAgICAgICAgICAgICAgICAiQ2FuY2VsYXIiCiNkZWZpbmUgRElBTE9HX0JST1dTRSAgICAgICAgICAgICAgICAgICAiJlByb2N1cmFyLi4uIgojZGVmaW5lIERJQUxPR19IRUxQICAgICAgICAgICAgICAgICAgICAgIiZBanVkYSIKCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9DQVBUSU9OICAgICAgICAiQ29uZmlndXJhciBQ4WdpbmEiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9IRUFEICAgICAgICAgICAiJkNhYmXnYWxobzoiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9UQUlMICAgICAgICAgICAiJlJvZGFw6ToiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9NQVJHSU4gICAgICAgICAiJk1hcmdlbnM6IgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfTEVGVCAgICAgICAgICAgIiZFc3F1ZXJkYToiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9SSUdIVCAgICAgICAgICAiJkRpcmVpdGE6IgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfVE9QICAgICAgICAgICAgIiZTdXBlcmlvcjoiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9CT1RUT00gICAgICAgICAiJkluZmVyaW9yOiIKCgovKiBTdHJpbmdzICovCgojZGVmaW5lIFNUUklOR19QQUdFU0VUVVBfSEVBREVSVkFMVUUgICAgIiZuIiAgICAgICAgLyogRklYTUUgKi8KI2RlZmluZSBTVFJJTkdfUEFHRVNFVFVQX0ZPT1RFUlZBTFVFICAgICJQ4WdpbmEgJnMiICAvKiBGSVhNRSAqLwojZGVmaW5lIFNUUklOR19QQUdFU0VUVVBfTEVGVFZBTFVFICAgICAgIjIwIG1tIiAgICAgLyogRklYTUUgKi8KI2RlZmluZSBTVFJJTkdfUEFHRVNFVFVQX1JJR0hUVkFMVUUgICAgICIyMCBtbSIgICAgIC8qIEZJWE1FICovCiNkZWZpbmUgU1RSSU5HX1BBR0VTRVRVUF9UT1BWQUxVRSAgICAgICAiMjUgbW0iICAgICAvKiBGSVhNRSAqLwojZGVmaW5lIFNUUklOR19QQUdFU0VUVVBfQk9UVE9NVkFMVUUgICAgIjI1IG1tIiAgICAgLyogRklYTUUgKi8KCiNkZWZpbmUgU1RSSU5HX05PVEVQQUQgICAgICAgICAgICAgICAgICAiTm90ZXBhZCIKI2RlZmluZSBTVFJJTkdfRVJST1IgICAgICAgICAgICAgICAgICAgICJFUlJPIgojZGVmaW5lIFNUUklOR19XQVJOSU5HICAgICAgICAgICAgICAgICAgIkFWSVNPIgojZGVmaW5lIFNUUklOR19JTkZPICAgICAgICAgICAgICAgICAgICAgIkluZm9ybWHn428iCgojZGVmaW5lIFNUUklOR19VTlRJVExFRCAgICAgICAgICAgICAgICAgIihzZW0gbm9tZSkiCgojZGVmaW5lIFNUUklOR19BTExfRklMRVMgICAgICAgICAgICAgICAgIlRvZG9zIG9zIGFycXVpdm9zICgqLiopIgojZGVmaW5lIFNUUklOR19URVhUX0ZJTEVTX1RYVCAgICAgICAgICAgIkFycXVpdm9zIHRleHRvICgqLnR4dCkiCgojZGVmaW5lIFNUUklOR19UT09MQVJHRSAgICAgICAgICJBcnF1aXZvICclcycg6SBtdWl0byBsb25nbyBwYXJhIG8gbm90ZXBhZC5cbiBcClBvciBmYXZvciB1c2UgdW0gZWRpdG9yIGRpZmVyZW50ZS4iCgojZGVmaW5lIFNUUklOR19OT1RFWFQgICAgICAgICAgICJWb2PqIG7jbyBkaWdpdG91IG5lbmh1bSB0ZXh0by4gXApcblBvciBmYXZvciBkaWdpdGUgYWxndW1hIGNvaXNhIGUgdGVudGUgbm92YW1lbnRlIgoKI2RlZmluZSBTVFJJTkdfTk9UU0FWRUQgICAgICAgICAiQXJxdWl2byAnJXMnXG5mb2kgbW9kaWZpY2Fkb1xuXG4gXApHb3N0YXJpYSBkZSBzYWx2YXIgYXMgYWx0ZXJh59VlcyA/IgoKI2RlZmluZSBTVFJJTkdfTk9URk9VTkQgICAgICAgICAiJyVzJyBu428gcG9kZSBzZXIgZW5jb250cmFkby4iCgojZGVmaW5lIFNUUklOR19PVVRfT0ZfTUVNT1JZICAgICJO428gaOEgbWVt83JpYSBzdWZpY2llbnRlIHBhcmEgY29tcGxldGFyIGVzc2EgXAp0YXJlZmEuIFxuRmVjaGUgdW1hIG91IG1haXMgYXBsaWNh5/VlcyBwYXJhIGF1bWVudGFyIGEgcXVhbnRpZGFkZSBkZSBtZW3zcmlhIFwKbGl2cmUuIgoKI2luY2x1ZGUgIm5vdGVwYWQucmMiCg==