Ly9NaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0LgovLwojaW5jbHVkZSAicmVzb3VyY2UuaCIKCiNkZWZpbmUgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBHZW5lcmF0ZWQgZnJvbSB0aGUgVEVYVElOQ0xVREUgMiByZXNvdXJjZS4KLy8KI2luY2x1ZGUgImFmeHJlcy5oIgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KI3VuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIEVuZ2xpc2ggKFUuUy4pIHJlc291cmNlcwoKI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRU5VKQojaWZkZWYgX1dJTjMyCkxBTkdVQUdFIExBTkdfRU5HTElTSCwgU1VCTEFOR19FTkdMSVNIX1VTCiNwcmFnbWEgY29kZV9wYWdlKDEyNTIpCiNlbmRpZiAvL19XSU4zMgoKI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gVEVYVElOQ0xVREUKLy8KCjEgVEVYVElOQ0xVREUgRElTQ0FSREFCTEUgCkJFR0lOCiAgICAicmVzb3VyY2UuaFwwIgpFTkQKCjIgVEVYVElOQ0xVREUgRElTQ0FSREFCTEUgCkJFR0lOCiAgICAiI2luY2x1ZGUgIiJhZnhyZXMuaCIiXHJcbiIKICAgICJcMCIKRU5ECgozIFRFWFRJTkNMVURFIERJU0NBUkRBQkxFIApCRUdJTgogICAgIiNkZWZpbmUgX0FGWF9OT19TUExJVFRFUl9SRVNPVVJDRVNcclxuIgogICAgIiNkZWZpbmUgX0FGWF9OT19PTEVfUkVTT1VSQ0VTXHJcbiIKICAgICIjZGVmaW5lIF9BRlhfTk9fVFJBQ0tFUl9SRVNPVVJDRVNcclxuIgogICAgIiNkZWZpbmUgX0FGWF9OT19QUk9QRVJUWV9SRVNPVVJDRVNcclxuIgogICAgIlxyXG4iCiAgICAiI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRU5VKVxyXG4iCiAgICAiI2lmZGVmIF9XSU4zMlxyXG4iCiAgICAiTEFOR1VBR0UgOSwgMVxyXG4iCiAgICAiI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MilcclxuIgogICAgIiNlbmRpZiAvL19XSU4zMlxyXG4iCiAgICAiI2luY2x1ZGUgIiJyZXNcXERpYWdyYW1QcmludC5yYzIiIiAgLy8gbm9uLU1pY3Jvc29mdCBWaXN1YWwgQysrIGVkaXRlZCByZXNvdXJjZXNcclxuIgogICAgIiNpbmNsdWRlICIiYWZ4cmVzLnJjIiIgICAgICAgICAvLyBTdGFuZGFyZCBjb21wb25lbnRzXHJcbiIKICAgICIjZW5kaWZcclxuIgogICAgIlwwIgpFTkQKCiNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VECgoKI2lmbmRlZiBfTUFDCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIFZlcnNpb24KLy8KClZTX1ZFUlNJT05fSU5GTyBWRVJTSU9OSU5GTwogRklMRVZFUlNJT04gMSwwLDAsMQogUFJPRFVDVFZFUlNJT04gMSwwLDAsMQogRklMRUZMQUdTTUFTSyAweDNmTAojaWZkZWYgX0RFQlVHCiBGSUxFRkxBR1MgMHgxTAojZWxzZQogRklMRUZMQUdTIDB4MEwKI2VuZGlmCiBGSUxFT1MgMHg0TAogRklMRVRZUEUgMHgyTAogRklMRVNVQlRZUEUgMHgwTApCRUdJTgogICAgQkxPQ0sgIlN0cmluZ0ZpbGVJbmZvIgogICAgQkVHSU4KICAgICAgICBCTE9DSyAiMDQwOTA0YjAiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgVkFMVUUgIkNvbW1lbnRzIiwgIlwwIgogICAgICAgICAgICBWQUxVRSAiQ29tcGFueU5hbWUiLCAiSUJNIENvcnBvcmF0aW9uXDAiCiAgICAgICAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAiRGlhZ3JhbVByaW50IERMTFwwIgogICAgICAgICAgICBWQUxVRSAiRmlsZVZlcnNpb24iLCAiMSwgMCwgMCwgMVwwIgogICAgICAgICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwgIkRpYWdyYW1QcmludFwwIgogICAgICAgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiTGljZW5zZWQgTWF0ZXJpYWxzIC0tIFByb3BlcnR5IG9mIElCTSAtIChDKSBDb3B5cmlnaHQgSUJNIENvcnBvcmF0aW9uLCAyMDAzLDIwMDggLSBVUyBHb3Zlcm5tZW50IFVzZXJzIFJlc3RyaWN0ZWQgUmlnaHRzIC0gVXNlLCBkdXBsaWNhdGlvbiBvciBkaXNjbG9zdXJlIHJlc3RyaWN0ZWQgYnkgR1NBIEFEUCBTY2hlZHVsZSBDb250cmFjdCB3aXRoIElCTSBDb3JwLlwwIgogICAgICAgICAgICBWQUxVRSAiTGVnYWxUcmFkZW1hcmtzIiwgIihSKSBJQk0gaXMgYSByZWdpc3RlcmVkIHRyYWRlbWFyayBvZiBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uLiAgV2luZG93cyhUTSkgaXMgYSB0cmFkZW1hcmsgb2YgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlwwIgogICAgICAgICAgICBWQUxVRSAiT3JpZ2luYWxGaWxlbmFtZSIsICJEaWFncmFtUHJpbnQuRExMXDAiCiAgICAgICAgICAgIFZBTFVFICJQcml2YXRlQnVpbGQiLCAiXDAiCiAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsICJEaWFncmFtUHJpbnQgRHluYW1pYyBMaW5rIExpYnJhcnlcMCIKICAgICAgICAgICAgVkFMVUUgIlByb2R1Y3RWZXJzaW9uIiwgIjIsIDEsIDAsIDBcMCIKICAgICAgICAgICAgVkFMVUUgIlNwZWNpYWxCdWlsZCIsICJcMCIKICAgICAgICBFTkQKICAgIEVORAogICAgQkxPQ0sgIlZhckZpbGVJbmZvIgogICAgQkVHSU4KICAgICAgICBWQUxVRSAiVHJhbnNsYXRpb24iLCAweDQwOSwgMTIwMAogICAgRU5ECkVORAoKI2VuZGlmICAgIC8vICFfTUFDCgojZW5kaWYgICAgLy8gRW5nbGlzaCAoVS5TLikgcmVzb3VyY2VzCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gTm9yd2VnaWFuIChCb2ttYWwpIHJlc291cmNlcwoKI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfTk9SKQojaWZkZWYgX1dJTjMyCkxBTkdVQUdFIExBTkdfTk9SV0VHSUFOLCBTVUJMQU5HX05PUldFR0lBTl9CT0tNQUwKI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikKI2VuZGlmIC8vX1dJTjMyCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBEaWFsb2cKLy8KCjE1MzggRElBTE9HIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OSwgMzU0ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU2tyaXYgdXQiCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIlNrcml2ZXIiLDEwNzUsOCw0LDI3Miw4NCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImTmF2bjoiLDEwOTMsMTYsMjEsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzksNTIsMTgsMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZFZ2Vuc2thcGVyLi4uIiwxMDI1LDIxMiwxNyw2MCwxNCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICJTdGF0dXM6IiwxMDk1LDE2LDM2LDI0LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OSwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTYsMzYsMjExLDEwCiAgICBMVEVYVCAgICAgICAgICAgIlR5cGU6IiwxMDk0LDE2LDQ4LDIwLDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTYsNDgsMjExLDEwCiAgICBMVEVYVCAgICAgICAgICAgIkRlcjoiLDEwOTcsMTYsNjAsMjAsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAxLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Niw2MCwyMTEsMTAKICAgIExURVhUICAgICAgICAgICAiS29tbWVudGFyOiIsMTA5NiwxNiw3MiwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDAsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDcyLDE1NiwxMAogICAgQ09OVFJPTCAgICAgICAgICJTa3JpdiB0aWwgZmkmbCIsMTA0MCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMjEyLDcwLDY0LDEyCiAgICBHUk9VUEJPWCAgICAgICAgIlV0c2tyaWZ0c29tcuVkZSBmb3IgZGlhZ3JhbSIsMTA3Miw4LDkzLDI3MiwxMDYsV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiR2omZWxkZW5kZSBkaWFncmFtIixJRENfQ1VSUkVOVF9ESUFHUkFNLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwxNiwxMDcsMjUzLDEyCiAgICBDT05UUk9MICAgICAgICAgIkFsbGUgJmRpYWdyYW1tZXIgZnJhIOVwbmUgbW9kZWxsZXIiLElEQ19BTExfRElBR1JBTVMsCiAgICAgICAgICAgICAgICAgICAgIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEyMSwyNTMsMTIKICAgIENPTlRST0wgICAgICAgICAiViZhbGd0ZSBkaWFncmFtbWVyOiIsSURDX1NFTEVDVEVEX0RJQUdSQU1TLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMzUsMjUzLDEyCiAgICBMSVNUQk9YICAgICAgICAgSURDX0RJQUdSQU1TLDI4LDE0OSwyNDMsNDMsTEJTX01VTFRJUExFU0VMIHwgCiAgICAgICAgICAgICAgICAgICAgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfSFNDUk9MTCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiU2thbGVyaW5nIixJRENfU1RBVElDLDgsMjAyLDI3Miw1MQogICAgQ09OVFJPTCAgICAgICAgICJKJnVzdGVyIHRpbCAlIGF2IG5vcm1hbCBzdPhycmVsc2U6IixJRENfU0NBTEVfUEVSQ0VOVCwKICAgICAgICAgICAgICAgICAgICAiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMTYsCiAgICAgICAgICAgICAgICAgICAgMjE4LDExMCwxMgogICAgQ09OVFJPTCAgICAgICAgICJUJmlscGFzcyB0aWw6IixJRENfU0NBTEVfRklULCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX1RBQlNUT1AsMTYsMjMzLDQ3LDEyCiAgICBMVEVYVCAgICAgICAgICAgIkomdXN0ZXIgdGlsICUgYXYgbm9ybWFsIHN0+HJyZWxzZToiLDExMDIsMzAsMjE5LDg4LDgsCiAgICAgICAgICAgICAgICAgICAgTk9UIFdTX1ZJU0lCTEUKICAgIEVESVRURVhUICAgICAgICBJRENfUEVSQ0VOVCwxMzEsMjE3LDMyLDEyLEVTX05VTUJFUgogICAgTFRFWFQgICAgICAgICAgICJzaWRlciBiJnJlZDoiLDExMDUsNzksMjM1LDM1LDgKICAgIEVESVRURVhUICAgICAgICBJRENfUEFHRVNNLDEyMiwyMzMsMzIsMTIsRVNfTlVNQkVSCiAgICBSVEVYVCAgICAgICAgICAgInNpZGVyICZo+Hk6IixJRENfU1RBVElDLDE4OCwyMzUsNDMsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfUEFHRVNOLDIzNSwyMzMsMzIsMTIsRVNfTlVNQkVSCiAgICBMVEVYVCAgICAgICAgICAgIiIsSURDX1NUQVRJQywyNjAsMjM1LDcsOCxOT1QgV1NfVklTSUJMRQogICAgR1JPVVBCT1ggICAgICAgICJVdHNrcmlmdHNvbXLlZGUiLDEwNzQsOCwyNTcsMTMyLDY0LFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIiZBbGxlIiwxMDU2LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxNiwyNzIsNDcsMTIKICAgIENPTlRST0wgICAgICAgICAiU2kmZGVyIiwxMDU4LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwyODYsNDYsMTIKICAgIFJURVhUICAgICAgICAgICAiJmZyYToiLDEwODksMjQsMzAyLDIwLDgKICAgIEVESVRURVhUICAgICAgICAxMTUyLDQ4LDMwMCwyNiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgUlRFWFQgICAgICAgICAgICImdGlsOiIsMTA5MCw3NiwzMDIsMjAsOAogICAgRURJVFRFWFQgICAgICAgIDExNTMsMTAwLDMwMCwyNywxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgR1JPVVBCT1ggICAgICAgICJFa3NlbXBsYXJlciIsMTA3MywxNDcsMjU3LDEzMiw2NCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICJBbnRhbGwgZSZrc2VtcGxhcmVyOiIsMTA5MiwxNjMsMjczLDY4LDgKICAgIEVESVRURVhUICAgICAgICAxMTU0LDIzNSwyNzEsMzIsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiUyZvcnRlciIsMTA0MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMjM3LDMwNCwzNiwxMgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMzI4LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkF2YnJ5dCIsSURDQU5DRUwsMjMyLDMyOCw0OCwxNAogICAgSUNPTiAgICAgICAgICAgICIiLDEwODYsMTU4LDI5Miw3MCwyNSxXU19HUk9VUApFTkQKCjE1MzkgRElBTE9HIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTc4ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiVXRza3JpZnRzZm9ybWF0IgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICJTa3JpdmVyIiwxMDc1LDgsNCwyNzIsODQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJk5hdm46IiwxMDkzLDE2LDIwLDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM2LDUyLDE4LDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImRWdlbnNrYXBlciIsMTAyNSwyMTIsMTcsNjAsMTQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiU3RhdHVzOiIsMTA5NSwxNiwzNiwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTksIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDM2LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJUeXBlOiIsMTA5NCwxNiw0OCwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTgsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDQ4LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJEZXI6IiwxMDk3LDE2LDYwLDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMSwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNjAsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIktvbW1lbnRhcjoiLDEwOTYsMTYsNzIsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAwLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Miw3MiwyMjQsMTAKICAgIEdST1VQQk9YICAgICAgICAiUGFwaXIiLDEwNzMsOCw5MiwxNjQsNTYsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiU3Qm+HJyZWxzZToiLDEwODksMTYsMTA4LDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM3LDUyLDEwNiwxMTIsMTEyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiJktpbGRlOiIsMTA5MCwxNiwxMjgsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzgsNTIsMTI2LDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICJSZXRuaW5nIiwxMDcyLDE4MCw5MiwxMDAsNTYsV1NfR1JPVVAKICAgIElDT04gICAgICAgICAgICAiIiwxMDg0LDE5NSwxMTIsMTgsMjAsV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiUyZ05WVuZGUiLDEwNTYsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDIyNCwxMDYsNTIsMTIKICAgIENPTlRST0wgICAgICAgICAiTCZpZ2dlbmRlIiwxMDU3LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwyMjQsMTI2LDUyLAogICAgICAgICAgICAgICAgICAgIDEyCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDE4MCwxNTYsNDgsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiQXZicnl0IixJRENBTkNFTCwyMzIsMTU2LDQ4LDE0CkVORAoKMTU0NiBESUFMT0cgRElTQ0FSREFCTEUgIDMyLCAzMiwgMjQwLCAyNDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTXzNETE9PSyB8IERTX0NPTlRFWFRIRUxQIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgCiAgICBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTaWRlb3Bwc2V0dCIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiIiwxMDgwLCJTdGF0aWMiLFNTX1dISVRFUkVDVCB8IFdTX0dST1VQLDgwLDgsODAsODAKICAgIENPTlRST0wgICAgICAgICAiIiwxMDgxLCJTdGF0aWMiLFNTX0dSQVlSRUNUIHwgV1NfR1JPVVAsMTYwLDEyLDQsODAKICAgIENPTlRST0wgICAgICAgICAiIiwxMDgyLCJTdGF0aWMiLFNTX0dSQVlSRUNUIHwgV1NfR1JPVVAsODQsODgsODAsNAogICAgR1JPVVBCT1ggICAgICAgICJQYXBpciIsMTA3Myw4LDk2LDIyNCw1NixXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICJTdCb4cnJlbHNlOiIsMTA4OSwxNiwxMTIsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzcsNjQsMTEwLDE2MCwxNjAsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICImS2lsZGU6IiwxMDkwLDE2LDEzMiwzNiw4CiAgICBDT01CT0JPWCAgICAgICAgMTEzOCw2NCwxMzAsMTYwLDE2MCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIlJldG5pbmciLDEwNzIsOCwxNTYsNjQsNTYsV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiUyZ05WVuZGUiLDEwNTYsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDE2LDE3MCw1MiwxMgogICAgQ09OVFJPTCAgICAgICAgICJMJmlnZ2VuZGUiLDEwNTcsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDE5MCw1MiwKICAgICAgICAgICAgICAgICAgICAxMgogICAgR1JPVVBCT1ggICAgICAgICJNYXJnZXIiLDEwNzUsODAsMTU2LDE1Miw1NixXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImVmVuc3RyZToiLDExMDIsODgsMTcyLDMyLDgKICAgIEVESVRURVhUICAgICAgICAxMTU1LDEyMCwxNzAsMjgsMTIsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiSPgmeXJlOiIsMTEwMywxNjQsMTcyLDMyLDgKICAgIEVESVRURVhUICAgICAgICAxMTU3LDE5NiwxNzAsMjgsMTIsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJlRvcHA6IiwxMTA0LDg4LDE5MiwzMiw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1NiwxMjAsMTkwLDI4LDEyLFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIkImdW5uOiIsMTEwNSwxNjQsMTkyLDMyLDgKICAgIEVESVRURVhUICAgICAgICAxMTU4LDE5NiwxOTAsMjgsMTIsV1NfR1JPVVAKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssODAsMjIwLDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkF2YnJ5dCIsSURDQU5DRUwsMTMyLDIyMCw0OCwxNAogICAgUFVTSEJVVFRPTiAgICAgICImU2tyaXZlci4uLiIsMTAyNiwxODQsMjIwLDQ4LDE0CkVORAoKMTIzNCBESUFMT0cgRElTQ0FSREFCTEUgIDMyLCAzMiwgMjg4LCAxODYKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTXzNETE9PSyB8IERTX0NPTlRFWFRIRUxQIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgCiAgICBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTa3JpdiB1dCIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiU2tyaXZlciIsMTA3NSw4LDQsMjcyLDg0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIiZOYXZuOiIsMTA5MywxNiwyMCwzNiw4CiAgICBDT01CT0JPWCAgICAgICAgMTEzOSw1MiwxOCwxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiJkVnZW5za2FwZXIiLDEwMjUsMjEyLDE3LDYwLDE0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIlN0YXR1czoiLDEwOTUsMTYsMzYsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk5LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1MiwzNiwyMjQsMTAKICAgIExURVhUICAgICAgICAgICAiVHlwZToiLDEwOTQsMTYsNDgsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk4LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Miw0OCwyMjQsMTAKICAgIExURVhUICAgICAgICAgICAiRGVyOiIsMTA5NywxNiw2MCwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDEsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDYwLDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJLb21tZW50YXI6IiwxMDk2LDE2LDcyLDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNzIsMTUyLDEwCiAgICBDT05UUk9MICAgICAgICAgIlNrcml2IHRpbCBmaSZsIiwxMDQwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMTIsNzAsNjQsMTIKICAgIEdST1VQQk9YICAgICAgICAiVXRza3JpZnRzb21y5WRlIiwxMDcyLDgsOTIsMTQ0LDY0LFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIiZBbGxlIiwxMDU2LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxNiwxMDYsNjQsMTIKICAgIENPTlRST0wgICAgICAgICAiU2kmZGVyIiwxMDU4LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMjIsMzYsMTIKICAgIENPTlRST0wgICAgICAgICAiJlZhbGciLDEwNTcsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEzOCw2NCwxMgogICAgUlRFWFQgICAgICAgICAgICImZnJhOiIsMTA4OSw1MiwxMjQsMjAsOAogICAgRURJVFRFWFQgICAgICAgIDExNTIsNzQsMTIyLDI2LDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBSVEVYVCAgICAgICAgICAgIiZ0aWw6IiwxMDkwLDEwMCwxMjQsMTYsOAogICAgRURJVFRFWFQgICAgICAgIDExNTMsMTE4LDEyMiwyNiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgR1JPVVBCT1ggICAgICAgICJFa3NlbXBsYXJlciIsMTA3MywxNjAsOTIsMTIwLDY0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIkFudGFsbCBlJmtzZW1wbGFyZXI6IiwxMDkyLDE2OCwxMDgsNjgsOAogICAgRURJVFRFWFQgICAgICAgIDExNTQsMjQwLDEwNiwzMiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgSUNPTiAgICAgICAgICAgICIiLDEwODYsMTYyLDEyNCw3NiwyNCxTU19DRU5URVJJTUFHRSB8IFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIlMmb3J0ZXIiLDEwNDEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDI0MCwxMzAsMzYsMTIKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTgwLDE2NCw0OCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJBdmJyeXQiLElEQ0FOQ0VMLDIzMiwxNjQsNDgsMTQKRU5ECgoxNTQ3IERJQUxPR0VYIDMyLCAzMiwgMjg5LCAzNTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTXzNETE9PSyB8IERTX0NPTlRFWFRIRUxQIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgCiAgICBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTa3JpdiB1dCIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIsIDAsIDAsIDB4MQpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICJTa3JpdmVyIiwxMDc1LDgsNCwyNzIsODQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJk5hdm46IiwxMDkzLDE2LDIxLDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM5LDUyLDE4LDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImRWdlbnNrYXBlci4uLiIsMTAyNSwyMTIsMTcsNjAsMTQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiU3RhdHVzOiIsMTA5NSwxNiwzNiwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTksIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDM2LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJUeXBlOiIsMTA5NCwxNiw0OCwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTgsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDQ4LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJEZXI6IiwxMDk3LDE2LDYwLDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMSwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNjAsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIktvbW1lbnRhcjoiLDEwOTYsMTYsNzIsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAwLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Miw3MiwxNTIsMTAKICAgIENPTlRST0wgICAgICAgICAiU2tyaXYgdGlsIGZpJmwiLDEwNDAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIxMiw3MCw2NCwxMgogICAgR1JPVVBCT1ggICAgICAgICJVdHNrcmlmdHNvbXLlZGUgZm9yIGRpYWdyYW0iLDEwNzIsOCw5MywyNzIsMTA2LFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIkdqJmVsZGVuZGUgZGlhZ3JhbSIsSURDX0NVUlJFTlRfRElBR1JBTSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMTYsMTA3LDI1MywxMgogICAgQ09OVFJPTCAgICAgICAgICJBbGxlICZkaWFncmFtbWVyIGZyYSDlcG5lIG1vZGVsbGVyIixJRENfQUxMX0RJQUdSQU1TLAogICAgICAgICAgICAgICAgICAgICJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMjEsMjUzLDEyCiAgICBDT05UUk9MICAgICAgICAgIlYmYWxndGUgZGlhZ3JhbW1lcjoiLElEQ19TRUxFQ1RFRF9ESUFHUkFNUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTYsMTM1LDI1MywxMgogICAgTElTVEJPWCAgICAgICAgIElEQ19ESUFHUkFNUywyOCwxNDksMjQzLDQzLExCU19NVUxUSVBMRVNFTCB8IAogICAgICAgICAgICAgICAgICAgIExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX0hTQ1JPTEwgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIlNrYWxlcmluZyIsSURDX1NUQVRJQyw4LDIwMiwyNzIsNTEKICAgIENPTlRST0wgICAgICAgICAiSiZ1c3RlciB0aWwgJSBhdiBub3JtYWwgc3T4cnJlbHNlOiIsSURDX1NDQUxFX1BFUkNFTlQsCiAgICAgICAgICAgICAgICAgICAgIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LAogICAgICAgICAgICAgICAgICAgIDIxOCwxMDQsMTIKICAgIENPTlRST0wgICAgICAgICAiVCZpbHBhc3MgdGlsOiIsSURDX1NDQUxFX0ZJVCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04gfCBXU19UQUJTVE9QLDE2LDIzMywzNCwxMgogICAgTFRFWFQgICAgICAgICAgICJKJnVzdGVyIHRpbCAlIGF2IG5vcm1hbCBzdPhycmVsc2U6IiwxMTAyLDMwLDIxOSw4OCw4LAogICAgICAgICAgICAgICAgICAgIE5PVCBXU19WSVNJQkxFCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BFUkNFTlQsMTIyLDIxNywzMiwxMixFU19OVU1CRVIKICAgIExURVhUICAgICAgICAgICAic2lkZXIgYiZyZWQ6IiwxMTA1LDcxLDIzNSw0Myw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX1BBR0VTTSwxMjIsMjMzLDMyLDEyLEVTX05VTUJFUgogICAgUlRFWFQgICAgICAgICAgICJzaWRlciAmaPh5OiIsSURDX1NUQVRJQywxNzcsMjM1LDU0LDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BBR0VTTiwyMzUsMjMzLDMyLDEyLEVTX05VTUJFUgogICAgTFRFWFQgICAgICAgICAgICIiLElEQ19TVEFUSUMsMjYwLDIzNSw3LDgsTk9UIFdTX1ZJU0lCTEUKICAgIEdST1VQQk9YICAgICAgICAiVXRza3JpZnRzb21y5WRlIiwxMDc0LDgsMjU3LDEzMiw2NCxXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICImQWxsZSIsMTA1NiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTYsMjcyLDQ3LDEyCiAgICBDT05UUk9MICAgICAgICAgIlNpJmRlciIsMTA1OCwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMjg2LDQ2LDEyCiAgICBSVEVYVCAgICAgICAgICAgIiZmcmE6IiwxMDg5LDI0LDMwMiwyMCw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1Miw0OCwzMDAsMjYsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIFJURVhUICAgICAgICAgICAiJnRpbDoiLDEwOTAsNzYsMzAyLDIwLDgKICAgIEVESVRURVhUICAgICAgICAxMTUzLDEwMCwzMDAsMjcsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIEdST1VQQk9YICAgICAgICAiRWtzZW1wbGFyZXIiLDEwNzMsMTQ3LDI1NywxMzIsNjQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiQW50YWxsIGUma3NlbXBsYXJlcjoiLDEwOTIsMTYzLDI3Myw2OCw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1NCwyMzUsMjcxLDMyLDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIlMmb3J0ZXIiLDEwNDEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDIzNSwyOTUsMzYsMTIKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTgwLDMyOCw0OCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJBdmJyeXQiLElEQ0FOQ0VMLDIzMiwzMjgsNDgsMTQKICAgIElDT04gICAgICAgICAgICAiIiwxMDg2LDE1NiwyOTAsNzAsMjUsV1NfR1JPVVAKRU5ECgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gREVTSUdOSU5GTwovLwoKI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQKR1VJREVMSU5FUyBERVNJR05JTkZPIERJU0NBUkRBQkxFIApCRUdJTgogICAgMTUzOCwgRElBTE9HCiAgICBCRUdJTgogICAgICAgIFJJR0hUTUFSR0lOLCAyODYKICAgICAgICBCT1RUT01NQVJHSU4sIDM0MgogICAgRU5ECgogICAgMTU0NywgRElBTE9HCiAgICBCRUdJTgogICAgICAgIFJJR0hUTUFSR0lOLCAyODYKICAgICAgICBCT1RUT01NQVJHSU4sIDM0MgogICAgRU5ECkVORAojZW5kaWYgICAgLy8gQVBTVFVESU9fSU5WT0tFRAoKI2VuZGlmICAgIC8vIE5vcndlZ2lhbiAoQm9rbWFsKSByZXNvdXJjZXMKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKI2lmbmRlZiBBUFNUVURJT19JTlZPS0VECi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIEdlbmVyYXRlZCBmcm9tIHRoZSBURVhUSU5DTFVERSAzIHJlc291cmNlLgovLwojZGVmaW5lIF9BRlhfTk9fU1BMSVRURVJfUkVTT1VSQ0VTCiNkZWZpbmUgX0FGWF9OT19PTEVfUkVTT1VSQ0VTCiNkZWZpbmUgX0FGWF9OT19UUkFDS0VSX1JFU09VUkNFUwojZGVmaW5lIF9BRlhfTk9fUFJPUEVSVFlfUkVTT1VSQ0VTCgojaWYgIWRlZmluZWQoQUZYX1JFU09VUkNFX0RMTCkgfHwgZGVmaW5lZChBRlhfVEFSR19FTlUpCiNpZmRlZiBfV0lOMzIKTEFOR1VBR0UgOSwgMQojcHJhZ21hIGNvZGVfcGFnZSgxMjUyKQojZW5kaWYgLy9fV0lOMzIKI2luY2x1ZGUgInJlc1xEaWFncmFtUHJpbnQucmMyIiAgLy8gbm9uLU1pY3Jvc29mdCBWaXN1YWwgQysrIGVkaXRlZCByZXNvdXJjZXMKI2luY2x1ZGUgImFmeHJlcy5yYyIgICAgICAgICAvLyBTdGFuZGFyZCBjb21wb25lbnRzCiNlbmRpZgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KI2VuZGlmICAgIC8vIG5vdCBBUFNUVURJT19JTlZPS0VECgo=