LyoKICogUHJvZ3JhbSBNYW5hZ2VyCiAqCiAqIENvcHlyaWdodCAxOTk2IFVscmljaCBTY2htaWQKICogRmlubmlzaCBsYW5ndWFnZSBieSBKdXNzaSBUaXJra29uZW4gPGp0QG1vZGVlbWkuY3MudHV0LmZpPgogKi8KCiNkZWZpbmUgTEFOR1VBR0VfSUQgICAgICAgICAgICAgICAgICBGaQojZGVmaW5lIExBTkdVQUdFX05VTUJFUiAgICAgICAgICAgICAgNQojZGVmaW5lIExBTkdVQUdFX01FTlVfSVRFTSAgICAgICAgICAgIiZTdW9taSIKCi8qIE1lbnUgKi8KCiNkZWZpbmUgTUVOVV9GSUxFICAgICAgICAgICAgICAgICAgICAiJlRpZWRvc3RvIgojZGVmaW5lIE1FTlVfRklMRV9ORVcgICAgICAgICAgICAgICAgIiZVdXNpLi4uIgojZGVmaW5lIE1FTlVfRklMRV9PUEVOICAgICAgICAgICAgICAgIiZBdmFhXHRFbnRlciIKI2RlZmluZSBNRU5VX0ZJTEVfTU9WRSAgICAgICAgICAgICAgICImU2lpcnLkLi4uXHRGNyIKI2RlZmluZSBNRU5VX0ZJTEVfQ09QWSAgICAgICAgICAgICAgICImS29waW9pLi4uXHRGOCIKI2RlZmluZSBNRU5VX0ZJTEVfREVMRVRFICAgICAgICAgICAgICImUG9pc3RhXHREZWwiCiNkZWZpbmUgTUVOVV9GSUxFX0FUVFJJQlVURVMgICAgICAgICAiJk9taW5haXN1dWRldC4uLlx0QWx0K0VudGVyIgojZGVmaW5lIE1FTlVfRklMRV9FWEVDVVRFICAgICAgICAgICAgIlN1byZyaXRhLi4uIgojZGVmaW5lIE1FTlVfRklMRV9FWElUICAgICAgICAgICAgICAgIiZMb3BldGEuLi4iCgojZGVmaW5lIE1FTlVfT1BUSU9OUyAgICAgICAgICAgICAgICAgIiZBc2V0dWtzZXQiCiNkZWZpbmUgTUVOVV9PUFRJT05TX0FVVE9fQVJSQU5HRSAgICAiJkrkcmplc3TkIGF1dG9tYWF0dGlzZXN0aSIKI2RlZmluZSBNRU5VX09QVElPTlNfTUlOX09OX1JVTiAgICAgICImUGllbmVubuQga+R5dGV0dORlc3PkIgojZGVmaW5lIE1FTlVfT1BUSU9OU19TQVZFX1NFVFRJTkdTICAgIiZUYWxsZW5uYSBhc2V0dWtzZXQgbG9wZXRldHRhZXNzYSIKCiNkZWZpbmUgTUVOVV9XSU5ET1dTICAgICAgICAgICAgICAgICAiJklra3VuYSIKI2RlZmluZSBNRU5VX1dJTkRPV1NfT1ZFUkxBUCAgICAgICAgICImTGltaXR05GluXHRWYWlodG8rRjUiCiNkZWZpbmUgTUVOVV9XSU5ET1dTX1NJREVfQllfU0lERSAgICAiJlZpZXJla2vkaW5cdFZhaWh0bytGNCIKI2RlZmluZSBNRU5VX1dJTkRPV1NfQVJSQU5HRSAgICAgICAgICImSuRyamVzdOQga3V2YWtrZWV0IgoKI2RlZmluZSBNRU5VX0xBTkdVQUdFICAgICAgICAgICAgICAgICImS2llbGkiCgojZGVmaW5lIE1FTlVfSEVMUCAgICAgICAgICAgICAgICAgICAgIiZPaGplIgojZGVmaW5lIE1FTlVfSEVMUF9DT05URU5UUyAgICAgICAgICAgIiZTaXPkbGx5cyIKI2RlZmluZSBNRU5VX0hFTFBfU0VBUkNIICAgICAgICAgICAgICImRXRzaSBvaGplIGFpaGVlc3RhLi4uIgojZGVmaW5lIE1FTlVfSEVMUF9IRUxQX09OX0hFTFAgICAgICAgIiZPaGplZW4ga+R5dHT2IgojZGVmaW5lIE1FTlVfSEVMUF9UVVRPUklBTCAgICAgICAgICAgIk8mcGV0dXNvaGplbG1hIgoKI2RlZmluZSBNRU5VX0lORk8gICAgICAgICAgICAgICAgICAgICJUaSZldG9qYS4uLiIKI2RlZmluZSBNRU5VX0lORk9fTElDRU5TRSAgICAgICAgICAgICImTGlzZW5zc2kiCiNkZWZpbmUgTUVOVV9JTkZPX05PX1dBUlJBTlRZICAgICAgICAiJk9NQUxMQSBWQVNUVVVMTEEiCiNkZWZpbmUgTUVOVV9JTkZPX0FCT1VUX1dJTkUgICAgICAgICAiJlRpZXRvamEgV0lORXN05CIKCi8qIERpYWxvZ3MgKi8KCiNkZWZpbmUgRElBTE9HX09LICAgICAgICAgICAgICAgICAgICAiT0siCiNkZWZpbmUgRElBTE9HX0NBTkNFTCAgICAgICAgICAgICAgICAiUGVydXV0YSIKI2RlZmluZSBESUFMT0dfQlJPV1NFICAgICAgICAgICAgICAgICImU2VsYWEiCiNkZWZpbmUgRElBTE9HX0hFTFAgICAgICAgICAgICAgICAgICAiJk9oamUiCgojZGVmaW5lIERJQUxPR19ORVdfQ0FQVElPTiAgICAgICAgICAgIlV1c2kgaWxtZW50eW3kIgojZGVmaW5lIERJQUxPR19ORVdfTkVXICAgICAgICAgICAgICAgIlV1c2kiCiNkZWZpbmUgRElBTE9HX05FV19HUk9VUCAgICAgICAgICAgICAiT2hqZWxtYSZyeWht5CIKI2RlZmluZSBESUFMT0dfTkVXX1BST0dSQU0gICAgICAgICAgICJPaGplbG1hJiIKCiNkZWZpbmUgRElBTE9HX01PVkVfQ0FQVElPTiAgICAgICAgICAiU2lpcnLkIgojZGVmaW5lIERJQUxPR19NT1ZFX1BST0dSQU0gICAgICAgICAgIlNpaXJy5CBvaGplbG1hOiIKI2RlZmluZSBESUFMT0dfTU9WRV9GUk9NX0dST1VQICAgICAgICJSeWht5HN05DoiCiNkZWZpbmUgRElBTE9HX01PVkVfVE9fR1JPVVAgICAgICAgICAiJlJ5aG3k5G46IgoKI2RlZmluZSBESUFMT0dfQ09QWV9DQVBUSU9OICAgICAgICAgICJLb3Bpb2kiCiNkZWZpbmUgRElBTE9HX0NPUFlfUFJPR1JBTSAgICAgICAgICAiS29waW9pIG9oamVsbWE6IgojZGVmaW5lIERJQUxPR19DT1BZX0ZST01fR1JPVVAgICAgICAgRElBTE9HX01PVkVfRlJPTV9HUk9VUAojZGVmaW5lIERJQUxPR19DT1BZX1RPX0dST1VQICAgICAgICAgRElBTE9HX01PVkVfVE9fR1JPVVAKCiNkZWZpbmUgRElBTE9HX0dST1VQX0NBUFRJT04gICAgICAgICAiT2hqZWxtYXJ5aG3kbiBvbWluYWlzdXVkZXQiCiNkZWZpbmUgRElBTE9HX0dST1VQX0RFU0NSSVBUSU9OICAgICAiJkt1dmF1czoiCiNkZWZpbmUgRElBTE9HX0dST1VQX0ZJTEUgICAgICAgICAgICAiJlJ5aG3kdGllZG9zdG86IgoKI2RlZmluZSBESUFMT0dfUFJPR1JBTV9DQVBUSU9OICAgICAgICJPaGplbG1hbiBvbWluYWlzdXVkZXQiCiNkZWZpbmUgRElBTE9HX1BST0dSQU1fREVTQ1JJUFRJT04gICBESUFMT0dfR1JPVVBfREVTQ1JJUFRJT04KI2RlZmluZSBESUFMT0dfUFJPR1JBTV9DT01NQU5EX0xJTkUgICJLJm9tZW50b3Jpdmk6IgojZGVmaW5lIERJQUxPR19QUk9HUkFNX0RJUkVDVE9SWSAgICAgIiZUefZoYWtlbWlzdG86IgojZGVmaW5lIERJQUxPR19QUk9HUkFNX0hPVF9LRVkgICAgICAgIiZQaWthbuRwcORpbjoiCiNkZWZpbmUgRElBTE9HX1BST0dSQU1fU1lNQk9MICAgICAgICAiU3VvJnJpdGEga3V2YWtrZWVuYSIKI2RlZmluZSBESUFMT0dfUFJPR1JBTV9PVEhFUl9TWU1CT0wgICImVmFpaGRhIGt1dmFrZXR0YS4uLiIKCiNkZWZpbmUgRElBTE9HX1NZTUJPTF9DQVBUSU9OICAgICAgICAiVmFsaXRzZSBrdXZha2UiCiNkZWZpbmUgRElBTE9HX1NZTUJPTF9GSUxFICAgICAgICAgICAiJk5pbWk6IgojZGVmaW5lIERJQUxPR19TWU1CT0xfQ1VSUkVOVCAgICAgICAgIk55a3lpbmVuICZrdXZha2U6IgoKI2RlZmluZSBESUFMT0dfRVhFQ1VURV9DQVBUSU9OICAgICAgICJTdW9yaXRhIG9oamVsbWEiCiNkZWZpbmUgRElBTE9HX0VYRUNVVEVfQ09NTUFORF9MSU5FICBESUFMT0dfUFJPR1JBTV9DT01NQU5EX0xJTkUKI2RlZmluZSBESUFMT0dfRVhFQ1VURV9TWU1CT0wgICAgICAgIERJQUxPR19QUk9HUkFNX1NZTUJPTAoKLyogU3RyaW5ncyAqLwoKI2RlZmluZSBTVFJJTkdfUFJPR1JBTV9NQU5BR0VSICAgICAgICAgICAgIkrkcmplc3RlbeRuaGFsbGludGEiCiNkZWZpbmUgU1RSSU5HX0VSUk9SICAgICAgICAgICAgICAgICAgICAgICJWSVJIRSIKI2RlZmluZSBTVFJJTkdfV0FSTklORyAgICAgICAgICAgICAgICAgICAgIlZBUk9JVFVTIgojZGVmaW5lIFNUUklOR19JTkZPICAgICAgICAgICAgICAgICAgICAgICAiVGlldG9qYSIKI2RlZmluZSBTVFJJTkdfREVMRVRFICAgICAgICAgICAgICAgICAgICAgIlBvaXN0YSIKI2RlZmluZSBTVFJJTkdfREVMRVRFX0dST1VQX3MgICAgICAgICAgICAgIlBvaXN0YSByeWht5CBgJXMnID8iCiNkZWZpbmUgU1RSSU5HX0RFTEVURV9QUk9HUkFNX3MgICAgICAgICAgICJQb2lzdGEgb2hqZWxtYSBgJXMnID8iCiNkZWZpbmUgU1RSSU5HX05PVF9JTVBMRU1FTlRFRCAgICAgICAgICAgICJFaSBr5Hl0ZXR05HZpc3PkIgojZGVmaW5lIFNUUklOR19GSUxFX1JFQURfRVJST1JfcyAgICAgICAgICAiVmlyaGUgbHVldHRhZXNzYSBgJXMnIgojZGVmaW5lIFNUUklOR19GSUxFX1dSSVRFX0VSUk9SX3MgICAgICAgICAiVmlyaGUga2lyam9pdGV0dGFlc3NhIGAlcyciCgojZGVmaW5lIFNUUklOR19HUlBGSUxFX1JFQURfRVJST1JfcyAgICAgICAiXApSeWht5HRpZWRvc3RvYSBgJXMnIGVpIHZvaWRhIGF2YXRhLlxuXApZcml0ZXTk5G5r9iB1dWRlc3RhYW4/IgoKI2RlZmluZSBTVFJJTkdfT1VUX09GX01FTU9SWSAgICAgICAgICAgICAgIk11aXN0aSBsb3B1c3NhIgojZGVmaW5lIFNUUklOR19XSU5IRUxQX0VSUk9SICAgICAgICAgICAgICAiT2hqZSBlaSBr5Hl0ZXR05HZpc3PkIgojZGVmaW5lIFNUUklOR19VTktOT1dOX0ZFQVRVUkVfcyAgICAgICAgICAiVHVudGVtYXRvbiBvbWluYWlzdXVzICVzOnNzYSIKI2RlZmluZSBTVFJJTkdfRklMRV9OT1RfT1ZFUldSSVRURU5fcyAgICAgIlRpZWRvc3RvIGAlcycgb24gb2xlbWFzc2EuIFRpZWRvc3RvYSBlaSBtdXV0ZXR0dS4iCiNkZWZpbmUgU1RSSU5HX1NBVkVfR1JPVVBfQVNfcyAgICAgICAgICAgICJUYWxsZW5uYSByeWht5CBuaW1lbGzkIGAlcycgYWxrdXBlcuRpc3RlbiB0aWVkb3N0b2plbiBz5GlseXR05G1pc2Vrc2kiCgojZGVmaW5lIFNUUklOR19OT19IT1RfS0VZICAgICAgICAgICAgICAgICAiRWkgbWl05ORuIgoKI2RlZmluZSBTVFJJTkdfQUxMX0ZJTEVTICAgICAgICAgICAgICAgICAgIkthaWtraSB0aWVkb3N0b3QgKCouKikiCiNkZWZpbmUgU1RSSU5HX1BST0dSQU1TICAgICAgICAgICAgICAgICAgICJPaGplbG1hdCIKI2RlZmluZSBTVFJJTkdfTElCUkFSSUVTX0RMTCAgICAgICAgICAgICAgIktpcmphc3RvdCAoKi5kbGwpIgojZGVmaW5lIFNUUklOR19TWU1CT0xfRklMRVMgICAgICAgICAgICAgICAiU3ltYm9saXRpZWRvc3RvdCIKI2RlZmluZSBTVFJJTkdfU1lNQk9MU19JQ08gICAgICAgICAgICAgICAgIkt1dmFra2VldCAoKi5pY28pIgoKI2luY2x1ZGUgIlh4LnJjIgo=