Ly9NaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0LgovLwojaW5jbHVkZSAicmVzb3VyY2UuaCIKCiNkZWZpbmUgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBHZW5lcmF0ZWQgZnJvbSB0aGUgVEVYVElOQ0xVREUgMiByZXNvdXJjZS4KLy8KI2luY2x1ZGUgImFmeHJlcy5oIgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KI3VuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIFBvbGlzaCByZXNvdXJjZXMKCiNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX1BMSykKI2lmZGVmIF9XSU4zMgpMQU5HVUFHRSBMQU5HX1BPTElTSCwgU1VCTEFOR19ERUZBVUxUCiNwcmFnbWEgY29kZV9wYWdlKDEyNTApCiNlbmRpZiAvL19XSU4zMgoKI2lmbmRlZiBfTUFDCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIFZlcnNpb24KLy8KClZTX1ZFUlNJT05fSU5GTyBWRVJTSU9OSU5GTwogRklMRVZFUlNJT04gMSwwLDAsMQogUFJPRFVDVFZFUlNJT04gMSwwLDAsMQogRklMRUZMQUdTTUFTSyAweDNmTAojaWZkZWYgX0RFQlVHCiBGSUxFRkxBR1MgMHgxTAojZWxzZQogRklMRUZMQUdTIDB4MEwKI2VuZGlmCiBGSUxFT1MgMHg0TAogRklMRVRZUEUgMHgyTAogRklMRVNVQlRZUEUgMHgwTApCRUdJTgogICAgQkxPQ0sgIlN0cmluZ0ZpbGVJbmZvIgogICAgQkVHSU4KICAgICAgICBCTE9DSyAiMDQwOTA0YjAiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgVkFMVUUgIkNvbW1lbnRzIiwgIlwwIgogICAgICAgICAgICBWQUxVRSAiQ29tcGFueU5hbWUiLCAiSUJNIENvcnBvcmF0aW9uXDAiCiAgICAgICAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAiRGlhZ3JhbVByaW50IERMTFwwIgogICAgICAgICAgICBWQUxVRSAiRmlsZVZlcnNpb24iLCAiMSwgMCwgMCwgMVwwIgogICAgICAgICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwgIkRpYWdyYW1QcmludFwwIgogICAgICAgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiTGljZW5zZWQgTWF0ZXJpYWxzIC0tIFByb3BlcnR5IG9mIElCTSAtIChDKSBDb3B5cmlnaHQgSUJNIENvcnBvcmF0aW9uLCAyMDAzLDIwMDggLSBVUyBHb3Zlcm5tZW50IFVzZXJzIFJlc3RyaWN0ZWQgUmlnaHRzIC0gVXNlLCBkdXBsaWNhdGlvbiBvciBkaXNjbG9zdXJlIHJlc3RyaWN0ZWQgYnkgR1NBIEFEUCBTY2hlZHVsZSBDb250cmFjdCB3aXRoIElCTSBDb3JwLlwwIgogICAgICAgICAgICBWQUxVRSAiTGVnYWxUcmFkZW1hcmtzIiwgIihSKSBJQk0gaXMgYSByZWdpc3RlcmVkIHRyYWRlbWFyayBvZiBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uLiAgV2luZG93cyhUTSkgaXMgYSB0cmFkZW1hcmsgb2YgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlwwIgogICAgICAgICAgICBWQUxVRSAiT3JpZ2luYWxGaWxlbmFtZSIsICJEaWFncmFtUHJpbnQuRExMXDAiCiAgICAgICAgICAgIFZBTFVFICJQcml2YXRlQnVpbGQiLCAiXDAiCiAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsICJEaWFncmFtUHJpbnQgRHluYW1pYyBMaW5rIExpYnJhcnlcMCIKICAgICAgICAgICAgVkFMVUUgIlByb2R1Y3RWZXJzaW9uIiwgIjIsIDEsIDAsIDBcMCIKICAgICAgICAgICAgVkFMVUUgIlNwZWNpYWxCdWlsZCIsICJcMCIKICAgICAgICBFTkQKICAgIEVORAogICAgQkxPQ0sgIlZhckZpbGVJbmZvIgogICAgQkVHSU4KICAgICAgICBWQUxVRSAiVHJhbnNsYXRpb24iLCAweDQwOSwgMTIwMAogICAgRU5ECkVORAoKI2VuZGlmICAgIC8vICFfTUFDCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gRGlhbG9nCi8vCgoxNTM4IERJQUxPRyBESVNDQVJEQUJMRSAgMzIsIDMyLCAzMjAsIDM1NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfM0RMT09LIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCAKICAgIFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkRydWt1aiIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiRHJ1a2Fya2EiLDEwNzUsOCw0LDMwNCw4NCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImTmF6d2E6IiwxMDkzLDE2LDIxLDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM5LDUyLDE4LDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImV7NhnGNpd2+cY2kuLi4iLDEwMjUsMjEyLDE3LDYwLDE0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIlN0YXR1czoiLDEwOTUsMTYsMzYsMjUsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk5LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1MiwzNiwyMjQsMTAKICAgIExURVhUICAgICAgICAgICAiVHlwOiIsMTA5NCwxNiw0OCwyMCwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTgsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDQ4LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJHZHppZToiLDEwOTcsMTYsNjAsMjYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAxLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Miw2MCwyMjQsMTAKICAgIExURVhUICAgICAgICAgICAiS29tZW50YXJ6OiIsMTA5NiwxNiw3Miw0MSwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDAsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDY2LDcyLDE1MiwxMAogICAgQ09OVFJPTCAgICAgICAgICJEcnVrdWogJmRvIHBsaWt1IiwxMDQwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMTIsNzAsNjQsMTIKICAgIEdST1VQQk9YICAgICAgICAiWmFrcmVzIHd5ZHJ1a3UgZGlhZ3JhbXUiLDEwNzIsOCw5MywzMDMsMTA2LFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIiZCaWW/uWN5IGRpYWdyYW0iLElEQ19DVVJSRU5UX0RJQUdSQU0sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LDEwNywyNTMsMTIKICAgIENPTlRST0wgICAgICAgICAiV3N6eXN0a2llICZkaWFncmFteSB6IG90d2FydHljaCBtb2RlbGkiLAogICAgICAgICAgICAgICAgICAgIElEQ19BTExfRElBR1JBTVMsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEyMSwyNTMsCiAgICAgICAgICAgICAgICAgICAgMTIKICAgIENPTlRST0wgICAgICAgICAiJld5YnJhbmUgZGlhZ3JhbXk6IixJRENfU0VMRUNURURfRElBR1JBTVMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEzNSwyNTMsMTIKICAgIExJU1RCT1ggICAgICAgICBJRENfRElBR1JBTVMsMjgsMTQ5LDI0Myw0MyxMQlNfTVVMVElQTEVTRUwgfCAKICAgICAgICAgICAgICAgICAgICBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IFdTX1ZTQ1JPTEwgfCBXU19IU0NST0xMIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICJTa2Fsb3dhbmllIixJRENfU1RBVElDLDgsMjAyLDMwMiw1MQogICAgQ09OVFJPTCAgICAgICAgICJEb3Bhc3VqIGRvIHdhcnRvnGNpICZwcm9jZW50b3dlaiBub3JtYWxuZWogd2llbGtvnGNpOiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NDQUxFX1BFUkNFTlQsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDE2LDIxMywxOTIsMTIKICAgIENPTlRST0wgICAgICAgICAiJkRvcGFzdWogZG86IixJRENfU0NBTEVfRklULCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTYsMjMzLDU4LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BFUkNFTlQsMjE3LDIxNCwzMiwxMixFU19OVU1CRVIKICAgIFJURVhUICAgICAgICAgICAiJnN6ZXJva2+c5iBzdHJvbnk6IiwxMTA1LDgyLDIzNSw2MCw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX1BBR0VTTSwxNTIsMjMzLDMyLDEyLEVTX05VTUJFUgogICAgUlRFWFQgICAgICAgICAgICImd3lzb2tvnOYgc3Ryb255OiIsSURDX1NUQVRJQywxOTksMjM1LDYyLDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BBR0VTTiwyNjUsMjMzLDMyLDEyLEVTX05VTUJFUgogICAgTFRFWFQgICAgICAgICAgICIiLElEQ19TVEFUSUMsMjYwLDIzNSw4LDgsTk9UIFdTX1ZJU0lCTEUKICAgIEdST1VQQk9YICAgICAgICAiWmFrcmVzIHd5ZHJ1a3UiLDEwNzQsOCwyNTcsMTMyLDY4LFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIiZXc3p5c3RrbyIsMTA1NiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTYsMjcyLDg5LDEyCiAgICBDT05UUk9MICAgICAgICAgIiZTdHJvbnkiLDEwNTgsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDI4Niw4NiwxMgogICAgUlRFWFQgICAgICAgICAgICImb2Q6IiwxMDg5LDIxLDMwNSwyMCw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1Miw0NSwzMDMsMjYsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIFJURVhUICAgICAgICAgICAiJmRvOiIsMTA5MCw4MCwzMDUsMTgsOAogICAgRURJVFRFWFQgICAgICAgIDExNTMsMTAyLDMwMywyNywxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgR1JPVVBCT1ggICAgICAgICJLb3BpZSIsMTA3MywxNDcsMjU3LDE2NCw2OCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImTGljemJhIGtvcGlpOiIsMTA5MiwxNjMsMjczLDUzLDgKICAgIEVESVRURVhUICAgICAgICAxMTU0LDIzNSwyNzEsMzIsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJlNvcnR1aiBrb3BpZSIsMTA0MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMjM1LDI5NSw2NSwxMgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywyMTEsMzM0LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkFudWx1aiIsSURDQU5DRUwsMjYzLDMzNCw0OCwxNAogICAgSUNPTiAgICAgICAgICAgICIiLDEwODYsMTU2LDI5MCw3MCwyNSxXU19HUk9VUApFTkQKCjE1MzkgRElBTE9HIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTc4ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiS29uZmlndXJhY2phIGRydWtvd2FuaWEiCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIkRydWthcmthIiwxMDc1LDgsNCwyNzIsODQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJk5hendhOiIsMTA5MywxNiwyMCwzNiw4CiAgICBDT01CT0JPWCAgICAgICAgMTEzNiw1MiwxOCwxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiJlezYZxjaXdvnGNpIiwxMDI1LDIxMiwxNyw2MCwxNCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICJTdGF0dXM6IiwxMDk1LDE2LDM2LDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OSwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsMzYsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIlR5cDoiLDEwOTQsMTYsNDgsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk4LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Miw0OCwyMjQsMTAKICAgIExURVhUICAgICAgICAgICAiR2R6aWU6IiwxMDk3LDE2LDYwLDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMSwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNjAsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIktvbWVudGFyejoiLDEwOTYsMTYsNzIsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAwLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Miw3MiwyMjQsMTAKICAgIEdST1VQQk9YICAgICAgICAiUGFwaWVyIiwxMDczLDgsOTIsMTY0LDU2LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIiZSb3ptaWFyOiIsMTA4OSwxNiwxMDgsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzcsNTIsMTA2LDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICKPJnLzZLNvOiIsMTA5MCwxNiwxMjgsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzgsNTIsMTI2LDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICJPcmllbnRhY2phIiwxMDcyLDE4MCw5MiwxMDAsNTYsV1NfR1JPVVAKICAgIElDT04gICAgICAgICAgICAiIiwxMDg0LDE5NSwxMTIsMTgsMjAsV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiUCZpb25vd28iLDEwNTYsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDIyNCwxMDYsNTIsMTIKICAgIENPTlRST0wgICAgICAgICAiUCZvemlvbW8iLDEwNTcsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDIyNCwxMjYsNTIsCiAgICAgICAgICAgICAgICAgICAgMTIKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTgwLDE1Niw0OCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJBbnVsdWoiLElEQ0FOQ0VMLDIzMiwxNTYsNDgsMTQKRU5ECgoxNTQ2IERJQUxPRyBESVNDQVJEQUJMRSAgMzIsIDMyLCAyNDAsIDI0MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfM0RMT09LIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCAKICAgIFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlVzdGF3aWVuaWEgc3Ryb255IgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICIiLDEwODAsIlN0YXRpYyIsU1NfV0hJVEVSRUNUIHwgV1NfR1JPVVAsODAsOCw4MCw4MAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwODEsIlN0YXRpYyIsU1NfR1JBWVJFQ1QgfCBXU19HUk9VUCwxNjAsMTIsNCw4MAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwODIsIlN0YXRpYyIsU1NfR1JBWVJFQ1QgfCBXU19HUk9VUCw4NCw4OCw4MCw0CiAgICBHUk9VUEJPWCAgICAgICAgIlBhcGllciIsMTA3Myw4LDk2LDIyNCw1NixXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImUm96bWlhcjoiLDEwODksMTYsMTEyLDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM3LDY0LDExMCwxNjAsMTYwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAijyZy82SzbzoiLDEwOTAsMTYsMTMyLDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM4LDY0LDEzMCwxNjAsMTYwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiT3JpZW50YWNqYSIsMTA3Miw4LDE1Niw2NCw1NixXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICJQJmlvbm93byIsMTA1NiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTYsMTcwLDUyLDEyCiAgICBDT05UUk9MICAgICAgICAgIlAmb3ppb21vIiwxMDU3LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxOTAsNTIsMTIKICAgIEdST1VQQk9YICAgICAgICAiTWFyZ2luZXN5IiwxMDc1LDgwLDE1NiwxNTIsNTYsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJkxld3k6IiwxMTAyLDg4LDE3MiwzMiw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1NSwxMjAsMTcwLDI4LDEyLFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIiZQcmF3eToiLDExMDMsMTY0LDE3MiwzMiw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1NywxOTYsMTcwLDI4LDEyLFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIiZH83JueToiLDExMDQsODgsMTkyLDMyLDgKICAgIEVESVRURVhUICAgICAgICAxMTU2LDEyMCwxOTAsMjgsMTIsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJkRvbG55OiIsMTEwNSwxNjQsMTkyLDMyLDgKICAgIEVESVRURVhUICAgICAgICAxMTU4LDE5NiwxOTAsMjgsMTIsV1NfR1JPVVAKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssODAsMjIwLDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkFudWx1aiIsSURDQU5DRUwsMTMyLDIyMCw0OCwxNAogICAgUFVTSEJVVFRPTiAgICAgICImRHJ1a2Fya2EuLi4iLDEwMjYsMTg0LDIyMCw0OCwxNApFTkQKCjEyMzQgRElBTE9HIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTg2ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiRHJ1a3VqIgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICJEcnVrYXJrYSIsMTA3NSw4LDQsMjcyLDg0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIiZOYXp3YToiLDEwOTMsMTYsMjAsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzksNTIsMTgsMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZXs2GcY2l3b5xjaSIsMTAyNSwyMTIsMTcsNjAsMTQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiU3RhdHVzOiIsMTA5NSwxNiwzNiwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTksIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDM2LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJUeXA6IiwxMDk0LDE2LDQ4LDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNDgsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIkdkemllOiIsMTA5NywxNiw2MCwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDEsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDYwLDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJLb21lbnRhcno6IiwxMDk2LDE2LDcyLDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNzIsMTUyLDEwCiAgICBDT05UUk9MICAgICAgICAgIkRydWt1aiAmZG8gcGxpa3UiLDEwNDAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIxMiw3MCw2NCwxMgogICAgR1JPVVBCT1ggICAgICAgICJaYWtyZXMgd3lkcnVrdSIsMTA3Miw4LDkyLDE0NCw2NCxXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICImV3N6eXN0a28iLDEwNTYsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDE2LDEwNiw2NCwxMgogICAgQ09OVFJPTCAgICAgICAgICImU3Ryb255IiwxMDU4LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMjIsMzYsMTIKICAgIENPTlRST0wgICAgICAgICAiJld5YvNyIiwxMDU3LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMzgsNjQsMTIKICAgIFJURVhUICAgICAgICAgICAiJm9kOiIsMTA4OSw1MiwxMjQsMjAsOAogICAgRURJVFRFWFQgICAgICAgIDExNTIsNzQsMTIyLDI2LDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBSVEVYVCAgICAgICAgICAgIiZkbzoiLDEwOTAsMTAwLDEyNCwxNiw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1MywxMTgsMTIyLDI2LDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBHUk9VUEJPWCAgICAgICAgIktvcGllIiwxMDczLDE2MCw5MiwxMjAsNjQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJkxpY3piYSBrb3BpaToiLDEwOTIsMTY4LDEwOCw2OCw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1NCwyNDAsMTA2LDMyLDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBJQ09OICAgICAgICAgICAgIiIsMTA4NiwxNjIsMTI0LDc2LDI0LFNTX0NFTlRFUklNQUdFIHwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJlNvcnR1aiBrb3BpZSIsMTA0MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMjQwLDEzMCwzNiwxMgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMTY0LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkFudWx1aiIsSURDQU5DRUwsMjMyLDE2NCw0OCwxNApFTkQKCjE1NDcgRElBTE9HRVggMzIsIDMyLCAyODksIDM1NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfM0RMT09LIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCAKICAgIFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkRydWt1aiIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIsIDAsIDAsIDB4MQpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICJEcnVrYXJrYSIsMTA3NSw4LDQsMjcyLDg0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIiZOYXp3YToiLDEwOTMsMTYsMjEsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzksNTIsMTgsMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZXs2GcY2l3b5xjaS4uLiIsMTAyNSwyMTIsMTcsNjAsMTQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiU3RhdHVzOiIsMTA5NSwxNiwzNiwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTksIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDM2LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJUeXA6IiwxMDk0LDE2LDQ4LDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNDgsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIkdkemllOiIsMTA5NywxNiw2MCwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDEsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDYwLDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJLb21lbnRhcno6IiwxMDk2LDE2LDcyLDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNzIsMTUyLDEwCiAgICBDT05UUk9MICAgICAgICAgIkRydWt1aiAmZG8gcGxpa3UiLDEwNDAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIxMiw3MCw2NCwxMgogICAgR1JPVVBCT1ggICAgICAgICJaYWtyZXMgd3lkcnVrdSBkaWFncmFtdSIsMTA3Miw4LDkzLDI3MiwxMDYsV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJkJpZb+5Y3kgZGlhZ3JhbSIsSURDX0NVUlJFTlRfRElBR1JBTSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMTYsMTA3LDI1MywxMgogICAgQ09OVFJPTCAgICAgICAgICJXc3p5c3RraWUgJmRpYWdyYW15IHogb3R3YXJ0eWNoIG1vZGVsaSIsCiAgICAgICAgICAgICAgICAgICAgSURDX0FMTF9ESUFHUkFNUywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIxLDI1MywKICAgICAgICAgICAgICAgICAgICAxMgogICAgQ09OVFJPTCAgICAgICAgICImV3licmFuZSBkaWFncmFteToiLElEQ19TRUxFQ1RFRF9ESUFHUkFNUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTYsMTM1LDI1MywxMgogICAgTElTVEJPWCAgICAgICAgIElEQ19ESUFHUkFNUywyOCwxNDksMjQzLDQzLExCU19NVUxUSVBMRVNFTCB8IAogICAgICAgICAgICAgICAgICAgIExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX0hTQ1JPTEwgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIlNrYWxvd2FuaWUiLElEQ19TVEFUSUMsOCwyMDIsMjcyLDUxCiAgICBDT05UUk9MICAgICAgICAgIkRvcGFzdWogZG8gd2FydG+cY2kgJnByb2NlbnRvd2VqIG5vcm1hbG5laiB3aWVsa2+cY2k6IiwKICAgICAgICAgICAgICAgICAgICBJRENfU0NBTEVfUEVSQ0VOVCwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTYsMjE4LDEwNCwxMgogICAgQ09OVFJPTCAgICAgICAgICImRG9wYXN1aiBkbzoiLElEQ19TQ0FMRV9GSVQsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxNiwyMzMsMzQsMTIKICAgIExURVhUICAgICAgICAgICAiRG9wYXN1aiBkbyB3YXJ0b5xjaSAmcHJvY2VudG93ZWogbm9ybWFsbmVqIHdpZWxrb5xjaToiLAogICAgICAgICAgICAgICAgICAgIDExMDIsMzAsMjE5LDg4LDgsTk9UIFdTX1ZJU0lCTEUKICAgIEVESVRURVhUICAgICAgICBJRENfUEVSQ0VOVCwxMjIsMjE3LDMyLDEyLEVTX05VTUJFUgogICAgTFRFWFQgICAgICAgICAgICImc3plcm9rb5zmIHN0cm9ueToiLDExMDUsNzEsMjM1LDQzLDgKICAgIEVESVRURVhUICAgICAgICBJRENfUEFHRVNNLDEyMiwyMzMsMzIsMTIsRVNfTlVNQkVSCiAgICBSVEVYVCAgICAgICAgICAgIiZ3eXNva2+c5iBzdHJvbnk6IixJRENfU1RBVElDLDE3NywyMzUsNTQsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfUEFHRVNOLDIzNSwyMzMsMzIsMTIsRVNfTlVNQkVSCiAgICBMVEVYVCAgICAgICAgICAgIiIsSURDX1NUQVRJQywyNjAsMjM1LDcsOCxOT1QgV1NfVklTSUJMRQogICAgR1JPVVBCT1ggICAgICAgICJaYWtyZXMgd3lkcnVrdSIsMTA3NCw4LDI1NywxMzIsNjQsV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJldzenlzdGtvIiwxMDU2LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxNiwyNzIsNDcsMTIKICAgIENPTlRST0wgICAgICAgICAiJlN0cm9ueSIsMTA1OCwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMjg2LDQ2LDEyCiAgICBSVEVYVCAgICAgICAgICAgIiZvZDoiLDEwODksMjQsMzAyLDIwLDgKICAgIEVESVRURVhUICAgICAgICAxMTUyLDQ4LDMwMCwyNiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgUlRFWFQgICAgICAgICAgICImZG86IiwxMDkwLDc2LDMwMiwyMCw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1MywxMDAsMzAwLDI3LDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBHUk9VUEJPWCAgICAgICAgIktvcGllIiwxMDczLDE0NywyNTcsMTMyLDY0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIiZMaWN6YmEga29waWk6IiwxMDkyLDE2MywyNzMsNjgsOAogICAgRURJVFRFWFQgICAgICAgIDExNTQsMjM1LDI3MSwzMiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICImU29ydHVqIGtvcGllIiwxMDQxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwyMzUsMjk1LDM2LDEyCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDE4MCwzMjgsNDgsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiQW51bHVqIixJRENBTkNFTCwyMzIsMzI4LDQ4LDE0CiAgICBJQ09OICAgICAgICAgICAgIiIsMTA4NiwxNTYsMjkwLDcwLDI1LFdTX0dST1VQCkVORAoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIERFU0lHTklORk8KLy8KCiNpZmRlZiBBUFNUVURJT19JTlZPS0VECkdVSURFTElORVMgREVTSUdOSU5GTyBESVNDQVJEQUJMRSAKQkVHSU4KICAgIDE1MzgsIERJQUxPRwogICAgQkVHSU4KICAgICAgICBSSUdIVE1BUkdJTiwgMjg5CiAgICAgICAgQk9UVE9NTUFSR0lOLCAzNDIKICAgIEVORAoKICAgIDE1NDcsIERJQUxPRwogICAgQkVHSU4KICAgICAgICBSSUdIVE1BUkdJTiwgMjg2CiAgICAgICAgQk9UVE9NTUFSR0lOLCAzNDIKICAgIEVORApFTkQKI2VuZGlmICAgIC8vIEFQU1RVRElPX0lOVk9LRUQKCiNlbmRpZiAgICAvLyBQb2xpc2ggcmVzb3VyY2VzCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gRW5nbGlzaCAoVS5TLikgcmVzb3VyY2VzCgojaWYgIWRlZmluZWQoQUZYX1JFU09VUkNFX0RMTCkgfHwgZGVmaW5lZChBRlhfVEFSR19FTlUpCiNpZmRlZiBfV0lOMzIKTEFOR1VBR0UgTEFOR19FTkdMSVNILCBTVUJMQU5HX0VOR0xJU0hfVVMKI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikKI2VuZGlmIC8vX1dJTjMyCgojaWZkZWYgQVBTVFVESU9fSU5WT0tFRAovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBURVhUSU5DTFVERQovLwoKMSBURVhUSU5DTFVERSBESVNDQVJEQUJMRSAKQkVHSU4KICAgICJyZXNvdXJjZS5oXDAiCkVORAoKMiBURVhUSU5DTFVERSBESVNDQVJEQUJMRSAKQkVHSU4KICAgICIjaW5jbHVkZSAiImFmeHJlcy5oIiJcclxuIgogICAgIlwwIgpFTkQKCjMgVEVYVElOQ0xVREUgRElTQ0FSREFCTEUgCkJFR0lOCiAgICAiI2RlZmluZSBfQUZYX05PX1NQTElUVEVSX1JFU09VUkNFU1xyXG4iCiAgICAiI2RlZmluZSBfQUZYX05PX09MRV9SRVNPVVJDRVNcclxuIgogICAgIiNkZWZpbmUgX0FGWF9OT19UUkFDS0VSX1JFU09VUkNFU1xyXG4iCiAgICAiI2RlZmluZSBfQUZYX05PX1BST1BFUlRZX1JFU09VUkNFU1xyXG4iCiAgICAiXHJcbiIKICAgICIjaWYgIWRlZmluZWQoQUZYX1JFU09VUkNFX0RMTCkgfHwgZGVmaW5lZChBRlhfVEFSR19FTlUpXHJcbiIKICAgICIjaWZkZWYgX1dJTjMyXHJcbiIKICAgICJMQU5HVUFHRSA5LCAxXHJcbiIKICAgICIjcHJhZ21hIGNvZGVfcGFnZSgxMjUyKVxyXG4iCiAgICAiI2VuZGlmIC8vX1dJTjMyXHJcbiIKICAgICIjaW5jbHVkZSAiInJlc1xcRGlhZ3JhbVByaW50LnJjMiIiICAvLyBub24tTWljcm9zb2Z0IFZpc3VhbCBDKysgZWRpdGVkIHJlc291cmNlc1xyXG4iCiAgICAiI2luY2x1ZGUgIiJhZnhyZXMucmMiIiAgICAgICAgIC8vIFN0YW5kYXJkIGNvbXBvbmVudHNcclxuIgogICAgIiNlbmRpZlxyXG4iCiAgICAiXDAiCkVORAoKI2VuZGlmICAgIC8vIEFQU1RVRElPX0lOVk9LRUQKCiNlbmRpZiAgICAvLyBFbmdsaXNoIChVLlMuKSByZXNvdXJjZXMKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKI2lmbmRlZiBBUFNUVURJT19JTlZPS0VECi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIEdlbmVyYXRlZCBmcm9tIHRoZSBURVhUSU5DTFVERSAzIHJlc291cmNlLgovLwojZGVmaW5lIF9BRlhfTk9fU1BMSVRURVJfUkVTT1VSQ0VTCiNkZWZpbmUgX0FGWF9OT19PTEVfUkVTT1VSQ0VTCiNkZWZpbmUgX0FGWF9OT19UUkFDS0VSX1JFU09VUkNFUwojZGVmaW5lIF9BRlhfTk9fUFJPUEVSVFlfUkVTT1VSQ0VTCgojaWYgIWRlZmluZWQoQUZYX1JFU09VUkNFX0RMTCkgfHwgZGVmaW5lZChBRlhfVEFSR19FTlUpCiNpZmRlZiBfV0lOMzIKTEFOR1VBR0UgOSwgMQojcHJhZ21hIGNvZGVfcGFnZSgxMjUyKQojZW5kaWYgLy9fV0lOMzIKI2luY2x1ZGUgInJlc1xEaWFncmFtUHJpbnQucmMyIiAgLy8gbm9uLU1pY3Jvc29mdCBWaXN1YWwgQysrIGVkaXRlZCByZXNvdXJjZXMKI2luY2x1ZGUgImFmeHJlcy5yYyIgICAgICAgICAvLyBTdGFuZGFyZCBjb21wb25lbnRzCiNlbmRpZgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KI2VuZGlmICAgIC8vIG5vdCBBUFNUVURJT19JTlZPS0VECgo=