I3VuZGVmIEZPUkNFRF9GTEFHCiNpZmRlZiBGT1JDRV9GTEFHUwojZGVmaW5lIEZPUkNFRF9GTEFHIDFMTAojZWxzZQojZGVmaW5lIEZPUkNFRF9GTEFHIDBMTAojZW5kaWYKCi8vIGFjcGkgICBhYmN0VgojdW5kZWYgT1BUU1RSX2FjcGkKI2RlZmluZSBPUFRTVFJfYWNwaSAiYWJjdFYiCiNpZmRlZiBDTEVBTlVQX2FjcGkKI3VuZGVmIENMRUFOVVBfYWNwaQojdW5kZWYgRk9SX2FjcGkKI3VuZGVmIEZMQUdfVgojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX2MKI3VuZGVmIEZMQUdfYgojdW5kZWYgRkxBR19hCiNlbmRpZgoKLy8gYXJjaCAgICAKI3VuZGVmIE9QVFNUUl9hcmNoCiNkZWZpbmUgT1BUU1RSX2FyY2ggMAojaWZkZWYgQ0xFQU5VUF9hcmNoCiN1bmRlZiBDTEVBTlVQX2FyY2gKI3VuZGVmIEZPUl9hcmNoCiNlbmRpZgoKLy8gYXJwICAgdmk6bkRzZGFwOkE6SDpbK0FwXVshc2RdCiN1bmRlZiBPUFRTVFJfYXJwCiNkZWZpbmUgT1BUU1RSX2FycCAidmk6bkRzZGFwOkE6SDpbK0FwXVshc2RdIgojaWZkZWYgQ0xFQU5VUF9hcnAKI3VuZGVmIENMRUFOVVBfYXJwCiN1bmRlZiBGT1JfYXJwCiN1bmRlZiBGTEFHX0gKI3VuZGVmIEZMQUdfQQojdW5kZWYgRkxBR19wCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX0QKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19pCiN1bmRlZiBGTEFHX3YKI2VuZGlmCgovLyBhcnBpbmcgICA8MT4xczpJOncjPDBjIzwwQVVEYnFmWytBVV1bK0RmXQojdW5kZWYgT1BUU1RSX2FycGluZwojZGVmaW5lIE9QVFNUUl9hcnBpbmcgIjwxPjFzOkk6dyM8MGMjPDBBVURicWZbK0FVXVsrRGZdIgojaWZkZWYgQ0xFQU5VUF9hcnBpbmcKI3VuZGVmIENMRUFOVVBfYXJwaW5nCiN1bmRlZiBGT1JfYXJwaW5nCiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfcQojdW5kZWYgRkxBR19iCiN1bmRlZiBGTEFHX0QKI3VuZGVmIEZMQUdfVQojdW5kZWYgRkxBR19BCiN1bmRlZiBGTEFHX2MKI3VuZGVmIEZMQUdfdwojdW5kZWYgRkxBR19JCiN1bmRlZiBGTEFHX3MKI2VuZGlmCgovLyBhc2NpaSAgICAKI3VuZGVmIE9QVFNUUl9hc2NpaQojZGVmaW5lIE9QVFNUUl9hc2NpaSAwCiNpZmRlZiBDTEVBTlVQX2FzY2lpCiN1bmRlZiBDTEVBTlVQX2FzY2lpCiN1bmRlZiBGT1JfYXNjaWkKI2VuZGlmCgovLyBiYXNlMzIgICBkaXcjPDA9NzZbIWR3XQojdW5kZWYgT1BUU1RSX2Jhc2UzMgojZGVmaW5lIE9QVFNUUl9iYXNlMzIgImRpdyM8MD03NlshZHddIgojaWZkZWYgQ0xFQU5VUF9iYXNlMzIKI3VuZGVmIENMRUFOVVBfYmFzZTMyCiN1bmRlZiBGT1JfYmFzZTMyCiN1bmRlZiBGTEFHX3cKI3VuZGVmIEZMQUdfaQojdW5kZWYgRkxBR19kCiNlbmRpZgoKLy8gYmFzZTY0ICAgZGl3IzwwPTc2WyFkd10KI3VuZGVmIE9QVFNUUl9iYXNlNjQKI2RlZmluZSBPUFRTVFJfYmFzZTY0ICJkaXcjPDA9NzZbIWR3XSIKI2lmZGVmIENMRUFOVVBfYmFzZTY0CiN1bmRlZiBDTEVBTlVQX2Jhc2U2NAojdW5kZWYgRk9SX2Jhc2U2NAojdW5kZWYgRkxBR193CiN1bmRlZiBGTEFHX2kKI3VuZGVmIEZMQUdfZAojZW5kaWYKCi8vIGJhc2VuYW1lIF48MWFzOiBePDFhczoKI3VuZGVmIE9QVFNUUl9iYXNlbmFtZQojZGVmaW5lIE9QVFNUUl9iYXNlbmFtZSAiXjwxYXM6IgojaWZkZWYgQ0xFQU5VUF9iYXNlbmFtZQojdW5kZWYgQ0xFQU5VUF9iYXNlbmFtZQojdW5kZWYgRk9SX2Jhc2VuYW1lCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfYQojZW5kaWYKCi8vIGJjICAgaShpbnRlcmFjdGl2ZSlsKG1hdGhsaWIpcShxdWlldClzKHN0YW5kYXJkKXcod2FybikKI3VuZGVmIE9QVFNUUl9iYwojZGVmaW5lIE9QVFNUUl9iYyAiaShpbnRlcmFjdGl2ZSlsKG1hdGhsaWIpcShxdWlldClzKHN0YW5kYXJkKXcod2FybikiCiNpZmRlZiBDTEVBTlVQX2JjCiN1bmRlZiBDTEVBTlVQX2JjCiN1bmRlZiBGT1JfYmMKI3VuZGVmIEZMQUdfdwojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX3EKI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR19pCiNlbmRpZgoKLy8gYmxrZGlzY2FyZCAgIDwxPjFmKGZvcmNlKWwobGVuZ3RoKSM8MG8ob2Zmc2V0KSM8MHMoc2VjdXJlKXooemVyb291dClbIXN6XQojdW5kZWYgT1BUU1RSX2Jsa2Rpc2NhcmQKI2RlZmluZSBPUFRTVFJfYmxrZGlzY2FyZCAiPDE+MWYoZm9yY2UpbChsZW5ndGgpIzwwbyhvZmZzZXQpIzwwcyhzZWN1cmUpeih6ZXJvb3V0KVshc3pdIgojaWZkZWYgQ0xFQU5VUF9ibGtkaXNjYXJkCiN1bmRlZiBDTEVBTlVQX2Jsa2Rpc2NhcmQKI3VuZGVmIEZPUl9ibGtkaXNjYXJkCiN1bmRlZiBGTEFHX3oKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19vCiN1bmRlZiBGTEFHX2wKI3VuZGVmIEZMQUdfZgojZW5kaWYKCi8vIGJsa2lkICAgVUxvOnMqWyFMVV0KI3VuZGVmIE9QVFNUUl9ibGtpZAojZGVmaW5lIE9QVFNUUl9ibGtpZCAiVUxvOnMqWyFMVV0iCiNpZmRlZiBDTEVBTlVQX2Jsa2lkCiN1bmRlZiBDTEVBTlVQX2Jsa2lkCiN1bmRlZiBGT1JfYmxraWQKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19vCiN1bmRlZiBGTEFHX0wKI3VuZGVmIEZMQUdfVQojZW5kaWYKCi8vIGJsb2NrZGV2ICAgPDE+MShzZXRybykoc2V0cncpKGdldHJvKShnZXRzcykoZ2V0YnN6KShzZXRic3opIzwwKGdldHN6KShnZXRzaXplKShnZXRzaXplNjQpKGdldHJhKShzZXRyYSkjPDAoZmx1c2hidWZzKShyZXJlYWRwdCkKI3VuZGVmIE9QVFNUUl9ibG9ja2RldgojZGVmaW5lIE9QVFNUUl9ibG9ja2RldiAiPDE+MShzZXRybykoc2V0cncpKGdldHJvKShnZXRzcykoZ2V0YnN6KShzZXRic3opIzwwKGdldHN6KShnZXRzaXplKShnZXRzaXplNjQpKGdldHJhKShzZXRyYSkjPDAoZmx1c2hidWZzKShyZXJlYWRwdCkiCiNpZmRlZiBDTEVBTlVQX2Jsb2NrZGV2CiN1bmRlZiBDTEVBTlVQX2Jsb2NrZGV2CiN1bmRlZiBGT1JfYmxvY2tkZXYKI3VuZGVmIEZMQUdfcmVyZWFkcHQKI3VuZGVmIEZMQUdfZmx1c2hidWZzCiN1bmRlZiBGTEFHX3NldHJhCiN1bmRlZiBGTEFHX2dldHJhCiN1bmRlZiBGTEFHX2dldHNpemU2NAojdW5kZWYgRkxBR19nZXRzaXplCiN1bmRlZiBGTEFHX2dldHN6CiN1bmRlZiBGTEFHX3NldGJzegojdW5kZWYgRkxBR19nZXRic3oKI3VuZGVmIEZMQUdfZ2V0c3MKI3VuZGVmIEZMQUdfZ2V0cm8KI3VuZGVmIEZMQUdfc2V0cncKI3VuZGVmIEZMQUdfc2V0cm8KI2VuZGlmCgovLyBib290Y2hhcnRkICAgIAojdW5kZWYgT1BUU1RSX2Jvb3RjaGFydGQKI2RlZmluZSBPUFRTVFJfYm9vdGNoYXJ0ZCAwCiNpZmRlZiBDTEVBTlVQX2Jvb3RjaGFydGQKI3VuZGVmIENMRUFOVVBfYm9vdGNoYXJ0ZAojdW5kZWYgRk9SX2Jvb3RjaGFydGQKI2VuZGlmCgovLyBicmN0bCAgIDwxCiN1bmRlZiBPUFRTVFJfYnJjdGwKI2RlZmluZSBPUFRTVFJfYnJjdGwgIjwxIgojaWZkZWYgQ0xFQU5VUF9icmN0bAojdW5kZWYgQ0xFQU5VUF9icmN0bAojdW5kZWYgRk9SX2JyY3RsCiNlbmRpZgoKLy8gYnVuemlwMiAgIGNmdGt2CiN1bmRlZiBPUFRTVFJfYnVuemlwMgojZGVmaW5lIE9QVFNUUl9idW56aXAyICJjZnRrdiIKI2lmZGVmIENMRUFOVVBfYnVuemlwMgojdW5kZWYgQ0xFQU5VUF9idW56aXAyCiN1bmRlZiBGT1JfYnVuemlwMgojdW5kZWYgRkxBR192CiN1bmRlZiBGTEFHX2sKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX2MKI2VuZGlmCgovLyBiemNhdCAgICAKI3VuZGVmIE9QVFNUUl9iemNhdAojZGVmaW5lIE9QVFNUUl9iemNhdCAwCiNpZmRlZiBDTEVBTlVQX2J6Y2F0CiN1bmRlZiBDTEVBTlVQX2J6Y2F0CiN1bmRlZiBGT1JfYnpjYXQKI2VuZGlmCgovLyBjYWwgICA+M2gKI3VuZGVmIE9QVFNUUl9jYWwKI2RlZmluZSBPUFRTVFJfY2FsICI+M2giCiNpZmRlZiBDTEVBTlVQX2NhbAojdW5kZWYgQ0xFQU5VUF9jYWwKI3VuZGVmIEZPUl9jYWwKI3VuZGVmIEZMQUdfaAojZW5kaWYKCi8vIGNhdCB1dnRlIHV2dGUKI3VuZGVmIE9QVFNUUl9jYXQKI2RlZmluZSBPUFRTVFJfY2F0ICJ1dnRlIgojaWZkZWYgQ0xFQU5VUF9jYXQKI3VuZGVmIENMRUFOVVBfY2F0CiN1bmRlZiBGT1JfY2F0CiN1bmRlZiBGTEFHX2UKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR192CiN1bmRlZiBGTEFHX3UKI2VuZGlmCgovLyBjZCAgID4xTFBbLUxQXQojdW5kZWYgT1BUU1RSX2NkCiNkZWZpbmUgT1BUU1RSX2NkICI+MUxQWy1MUF0iCiNpZmRlZiBDTEVBTlVQX2NkCiN1bmRlZiBDTEVBTlVQX2NkCiN1bmRlZiBGT1JfY2QKI3VuZGVmIEZMQUdfUAojdW5kZWYgRkxBR19MCiNlbmRpZgoKLy8gY2hhdHRyICAgP3AjdiNSCiN1bmRlZiBPUFRTVFJfY2hhdHRyCiNkZWZpbmUgT1BUU1RSX2NoYXR0ciAiP3AjdiNSIgojaWZkZWYgQ0xFQU5VUF9jaGF0dHIKI3VuZGVmIENMRUFOVVBfY2hhdHRyCiN1bmRlZiBGT1JfY2hhdHRyCiN1bmRlZiBGTEFHX1IKI3VuZGVmIEZMQUdfdgojdW5kZWYgRkxBR19wCiNlbmRpZgoKLy8gY2hjb24gICA8Mmh2UgojdW5kZWYgT1BUU1RSX2NoY29uCiNkZWZpbmUgT1BUU1RSX2NoY29uICI8Mmh2UiIKI2lmZGVmIENMRUFOVVBfY2hjb24KI3VuZGVmIENMRUFOVVBfY2hjb24KI3VuZGVmIEZPUl9jaGNvbgojdW5kZWYgRkxBR19SCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfaAojZW5kaWYKCi8vIGNoZ3JwICAgPDJoKG5vLWRlcmVmZXJlbmNlKVBMSFJmdlstSExQXQojdW5kZWYgT1BUU1RSX2NoZ3JwCiNkZWZpbmUgT1BUU1RSX2NoZ3JwICI8Mmgobm8tZGVyZWZlcmVuY2UpUExIUmZ2Wy1ITFBdIgojaWZkZWYgQ0xFQU5VUF9jaGdycAojdW5kZWYgQ0xFQU5VUF9jaGdycAojdW5kZWYgRk9SX2NoZ3JwCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19SCiN1bmRlZiBGTEFHX0gKI3VuZGVmIEZMQUdfTAojdW5kZWYgRkxBR19QCiN1bmRlZiBGTEFHX2gKI2VuZGlmCgovLyBjaG1vZCA8Mj92ZlJbLXZmXSA8Mj92ZlJbLXZmXQojdW5kZWYgT1BUU1RSX2NobW9kCiNkZWZpbmUgT1BUU1RSX2NobW9kICI8Mj92ZlJbLXZmXSIKI2lmZGVmIENMRUFOVVBfY2htb2QKI3VuZGVmIENMRUFOVVBfY2htb2QKI3VuZGVmIEZPUl9jaG1vZAojdW5kZWYgRkxBR19SCiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfdgojZW5kaWYKCi8vIGNocm9vdCAgIF48MQojdW5kZWYgT1BUU1RSX2Nocm9vdAojZGVmaW5lIE9QVFNUUl9jaHJvb3QgIl48MSIKI2lmZGVmIENMRUFOVVBfY2hyb290CiN1bmRlZiBDTEVBTlVQX2Nocm9vdAojdW5kZWYgRk9SX2Nocm9vdAojZW5kaWYKCi8vIGNocnQgICBebXAjPDBpUmJyZm9bIWlicmZvXQojdW5kZWYgT1BUU1RSX2NocnQKI2RlZmluZSBPUFRTVFJfY2hydCAiXm1wIzwwaVJicmZvWyFpYnJmb10iCiNpZmRlZiBDTEVBTlVQX2NocnQKI3VuZGVmIENMRUFOVVBfY2hydAojdW5kZWYgRk9SX2NocnQKI3VuZGVmIEZMQUdfbwojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX3IKI3VuZGVmIEZMQUdfYgojdW5kZWYgRkxBR19SCiN1bmRlZiBGTEFHX2kKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19tCiNlbmRpZgoKLy8gY2hzaCAgID4xUjpzOmEKI3VuZGVmIE9QVFNUUl9jaHNoCiNkZWZpbmUgT1BUU1RSX2Noc2ggIj4xUjpzOmEiCiNpZmRlZiBDTEVBTlVQX2Noc2gKI3VuZGVmIENMRUFOVVBfY2hzaAojdW5kZWYgRk9SX2Noc2gKI3VuZGVmIEZMQUdfYQojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX1IKI2VuZGlmCgovLyBjaHZ0ICAgPDE+MQojdW5kZWYgT1BUU1RSX2NodnQKI2RlZmluZSBPUFRTVFJfY2h2dCAiPDE+MSIKI2lmZGVmIENMRUFOVVBfY2h2dAojdW5kZWYgQ0xFQU5VUF9jaHZ0CiN1bmRlZiBGT1JfY2h2dAojZW5kaWYKCi8vIGNrc3VtICAgSElQTE4KI3VuZGVmIE9QVFNUUl9ja3N1bQojZGVmaW5lIE9QVFNUUl9ja3N1bSAiSElQTE4iCiNpZmRlZiBDTEVBTlVQX2Nrc3VtCiN1bmRlZiBDTEVBTlVQX2Nrc3VtCiN1bmRlZiBGT1JfY2tzdW0KI3VuZGVmIEZMQUdfTgojdW5kZWYgRkxBR19MCiN1bmRlZiBGTEFHX1AKI3VuZGVmIEZMQUdfSQojdW5kZWYgRkxBR19ICiNlbmRpZgoKLy8gY2xlYXIgICAgCiN1bmRlZiBPUFRTVFJfY2xlYXIKI2RlZmluZSBPUFRTVFJfY2xlYXIgMAojaWZkZWYgQ0xFQU5VUF9jbGVhcgojdW5kZWYgQ0xFQU5VUF9jbGVhcgojdW5kZWYgRk9SX2NsZWFyCiNlbmRpZgoKLy8gY21wIDwxPjRscyhzaWxlbnQpKHF1aWV0KW4jPDFbIWxzXSA8MT40bHMoc2lsZW50KShxdWlldCluIzwxWyFsc10KI3VuZGVmIE9QVFNUUl9jbXAKI2RlZmluZSBPUFRTVFJfY21wICI8MT40bHMoc2lsZW50KShxdWlldCluIzwxWyFsc10iCiNpZmRlZiBDTEVBTlVQX2NtcAojdW5kZWYgQ0xFQU5VUF9jbXAKI3VuZGVmIEZPUl9jbXAKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX2wKI2VuZGlmCgovLyBjb21tIDwyPjIzMjEgPDI+MjMyMQojdW5kZWYgT1BUU1RSX2NvbW0KI2RlZmluZSBPUFRTVFJfY29tbSAiPDI+MjMyMSIKI2lmZGVmIENMRUFOVVBfY29tbQojdW5kZWYgQ0xFQU5VUF9jb21tCiN1bmRlZiBGT1JfY29tbQojdW5kZWYgRkxBR18xCiN1bmRlZiBGTEFHXzIKI3VuZGVmIEZMQUdfMwojZW5kaWYKCi8vIGNvdW50ICAgPDA+MGwKI3VuZGVmIE9QVFNUUl9jb3VudAojZGVmaW5lIE9QVFNUUl9jb3VudCAiPDA+MGwiCiNpZmRlZiBDTEVBTlVQX2NvdW50CiN1bmRlZiBDTEVBTlVQX2NvdW50CiN1bmRlZiBGT1JfY291bnQKI3VuZGVmIEZMQUdfbAojZW5kaWYKCi8vIGNwIDwxKHByZXNlcnZlKTo7RChwYXJlbnRzKVJITFBwcnVkYXNsdih2ZXJib3NlKW5GKHJlbW92ZS1kZXN0aW5hdGlvbilmaXQ6VFstSExQZF1bLW5pdV1bK1JyXSA8MShwcmVzZXJ2ZSk6O0QocGFyZW50cylSSExQcHJ1ZGFzbHYodmVyYm9zZSluRihyZW1vdmUtZGVzdGluYXRpb24pZml0OlRbLUhMUGRdWy1uaXVdWytScl0KI3VuZGVmIE9QVFNUUl9jcAojZGVmaW5lIE9QVFNUUl9jcCAiPDEocHJlc2VydmUpOjtEKHBhcmVudHMpUkhMUHBydWRhc2x2KHZlcmJvc2UpbkYocmVtb3ZlLWRlc3RpbmF0aW9uKWZpdDpUWy1ITFBkXVstbml1XVsrUnJdIgojaWZkZWYgQ0xFQU5VUF9jcAojdW5kZWYgQ0xFQU5VUF9jcAojdW5kZWYgRk9SX2NwCiN1bmRlZiBGTEFHX1QKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR19pCiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfRgojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX3IKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19QCiN1bmRlZiBGTEFHX0wKI3VuZGVmIEZMQUdfSAojdW5kZWYgRkxBR19SCiN1bmRlZiBGTEFHX0QKI3VuZGVmIEZMQUdfcHJlc2VydmUKI2VuZGlmCgovLyBjcGlvIChpZ25vcmUtZGV2bm8pKHJlbnVtYmVyLWlub2RlcykocXVpZXQpKG5vLXByZXNlcnZlLW93bmVyKVIob3duZXIpOm1kKG1ha2UtZGlyZWN0b3JpZXMpdUxIOnB8aXx0fEY6dih2ZXJib3NlKW98WyFwaW9dWyFwb3RdWyFwRl0gKGlnbm9yZS1kZXZubykocmVudW1iZXItaW5vZGVzKShxdWlldCkobm8tcHJlc2VydmUtb3duZXIpUihvd25lcik6bWQobWFrZS1kaXJlY3Rvcmllcyl1TEg6cHxpfHR8Rjp2KHZlcmJvc2Upb3xbIXBpb11bIXBvdF1bIXBGXQojdW5kZWYgT1BUU1RSX2NwaW8KI2RlZmluZSBPUFRTVFJfY3BpbyAiKGlnbm9yZS1kZXZubykocmVudW1iZXItaW5vZGVzKShxdWlldCkobm8tcHJlc2VydmUtb3duZXIpUihvd25lcik6bWQobWFrZS1kaXJlY3Rvcmllcyl1TEg6cHxpfHR8Rjp2KHZlcmJvc2Upb3xbIXBpb11bIXBvdF1bIXBGXSIKI2lmZGVmIENMRUFOVVBfY3BpbwojdW5kZWYgQ0xFQU5VUF9jcGlvCiN1bmRlZiBGT1JfY3BpbwojdW5kZWYgRkxBR19vCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfRgojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX2kKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19ICiN1bmRlZiBGTEFHX0wKI3VuZGVmIEZMQUdfdQojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX20KI3VuZGVmIEZMQUdfUgojdW5kZWYgRkxBR19ub19wcmVzZXJ2ZV9vd25lcgojdW5kZWYgRkxBR19xdWlldAojdW5kZWYgRkxBR19yZW51bWJlcl9pbm9kZXMKI3VuZGVmIEZMQUdfaWdub3JlX2Rldm5vCiNlbmRpZgoKLy8gY3JjMzIgICAgCiN1bmRlZiBPUFRTVFJfY3JjMzIKI2RlZmluZSBPUFRTVFJfY3JjMzIgMAojaWZkZWYgQ0xFQU5VUF9jcmMzMgojdW5kZWYgQ0xFQU5VUF9jcmMzMgojdW5kZWYgRk9SX2NyYzMyCiNlbmRpZgoKLy8gY3JvbmQgICBmYlNsIzwwPThkIzwwTDpjOlstYmZdWy1MU11bLWxkXQojdW5kZWYgT1BUU1RSX2Nyb25kCiNkZWZpbmUgT1BUU1RSX2Nyb25kICJmYlNsIzwwPThkIzwwTDpjOlstYmZdWy1MU11bLWxkXSIKI2lmZGVmIENMRUFOVVBfY3JvbmQKI3VuZGVmIENMRUFOVVBfY3JvbmQKI3VuZGVmIEZPUl9jcm9uZAojdW5kZWYgRkxBR19jCiN1bmRlZiBGTEFHX0wKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX1MKI3VuZGVmIEZMQUdfYgojdW5kZWYgRkxBR19mCiNlbmRpZgoKLy8gY3JvbnRhYiAgIGM6dTplbHJbIWVscl0KI3VuZGVmIE9QVFNUUl9jcm9udGFiCiNkZWZpbmUgT1BUU1RSX2Nyb250YWIgImM6dTplbHJbIWVscl0iCiNpZmRlZiBDTEVBTlVQX2Nyb250YWIKI3VuZGVmIENMRUFOVVBfY3JvbnRhYgojdW5kZWYgRk9SX2Nyb250YWIKI3VuZGVmIEZMQUdfcgojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX2UKI3VuZGVmIEZMQUdfdQojdW5kZWYgRkxBR19jCiNlbmRpZgoKLy8gY3NwbGl0ICAgPDJza2Y6biMKI3VuZGVmIE9QVFNUUl9jc3BsaXQKI2RlZmluZSBPUFRTVFJfY3NwbGl0ICI8MnNrZjpuIyIKI2lmZGVmIENMRUFOVVBfY3NwbGl0CiN1bmRlZiBDTEVBTlVQX2NzcGxpdAojdW5kZWYgRk9SX2NzcGxpdAojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfawojdW5kZWYgRkxBR19zCiNlbmRpZgoKLy8gY3V0IGIqfGMqfGYqfEYocmVnZXgtZmllbGRzKSp8Qyp8TyhvdXRwdXQtZGVsaW1pdGVyKTpkOnNEKGFsbG93LWR1cGxpY2F0ZXMpblshY2JmRl0gYip8Yyp8Zip8RihyZWdleC1maWVsZHMpKnxDKnxPKG91dHB1dC1kZWxpbWl0ZXIpOmQ6c0QoYWxsb3ctZHVwbGljYXRlcyluWyFjYmZGXQojdW5kZWYgT1BUU1RSX2N1dAojZGVmaW5lIE9QVFNUUl9jdXQgImIqfGMqfGYqfEYocmVnZXgtZmllbGRzKSp8Qyp8TyhvdXRwdXQtZGVsaW1pdGVyKTpkOnNEKGFsbG93LWR1cGxpY2F0ZXMpblshY2JmRl0iCiNpZmRlZiBDTEVBTlVQX2N1dAojdW5kZWYgQ0xFQU5VUF9jdXQKI3VuZGVmIEZPUl9jdXQKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19ECiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19PCiN1bmRlZiBGTEFHX0MKI3VuZGVmIEZMQUdfRgojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX2MKI3VuZGVmIEZMQUdfYgojZW5kaWYKCi8vIGRhdGUgPjFkOkQ6SShpc28tODYwMSk6O3I6czp1KHV0YylbIWRyXSA+MWQ6RDpJKGlzby04NjAxKTo7cjpzOnUodXRjKVshZHJdCiN1bmRlZiBPUFRTVFJfZGF0ZQojZGVmaW5lIE9QVFNUUl9kYXRlICI+MWQ6RDpJKGlzby04NjAxKTo7cjpzOnUodXRjKVshZHJdIgojaWZkZWYgQ0xFQU5VUF9kYXRlCiN1bmRlZiBDTEVBTlVQX2RhdGUKI3VuZGVmIEZPUl9kYXRlCiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX0kKI3VuZGVmIEZMQUdfRAojdW5kZWYgRkxBR19kCiNlbmRpZgoKLy8gZGQgICAgCiN1bmRlZiBPUFRTVFJfZGQKI2RlZmluZSBPUFRTVFJfZGQgMAojaWZkZWYgQ0xFQU5VUF9kZAojdW5kZWYgQ0xFQU5VUF9kZAojdW5kZWYgRk9SX2RkCiNlbmRpZgoKLy8gZGVhbGxvY3Z0ICAgPjEKI3VuZGVmIE9QVFNUUl9kZWFsbG9jdnQKI2RlZmluZSBPUFRTVFJfZGVhbGxvY3Z0ICI+MSIKI2lmZGVmIENMRUFOVVBfZGVhbGxvY3Z0CiN1bmRlZiBDTEVBTlVQX2RlYWxsb2N2dAojdW5kZWYgRk9SX2RlYWxsb2N2dAojZW5kaWYKCi8vIGRlY2xhcmUgICBwQWFpbHVueHIKI3VuZGVmIE9QVFNUUl9kZWNsYXJlCiNkZWZpbmUgT1BUU1RSX2RlY2xhcmUgInBBYWlsdW54ciIKI2lmZGVmIENMRUFOVVBfZGVjbGFyZQojdW5kZWYgQ0xFQU5VUF9kZWNsYXJlCiN1bmRlZiBGT1JfZGVjbGFyZQojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX3gKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX2wKI3VuZGVmIEZMQUdfaQojdW5kZWYgRkxBR19hCiN1bmRlZiBGTEFHX0EKI3VuZGVmIEZMQUdfcAojZW5kaWYKCi8vIGRlbW9fbWFueV9vcHRpb25zICAgWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkF6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYQojdW5kZWYgT1BUU1RSX2RlbW9fbWFueV9vcHRpb25zCiNkZWZpbmUgT1BUU1RSX2RlbW9fbWFueV9vcHRpb25zICJaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQXp5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhIgojaWZkZWYgQ0xFQU5VUF9kZW1vX21hbnlfb3B0aW9ucwojdW5kZWYgQ0xFQU5VUF9kZW1vX21hbnlfb3B0aW9ucwojdW5kZWYgRk9SX2RlbW9fbWFueV9vcHRpb25zCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfYgojdW5kZWYgRkxBR19jCiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfZQojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX2cKI3VuZGVmIEZMQUdfaAojdW5kZWYgRkxBR19pCiN1bmRlZiBGTEFHX2oKI3VuZGVmIEZMQUdfawojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX20KI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19vCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfcQojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfdwojdW5kZWYgRkxBR194CiN1bmRlZiBGTEFHX3kKI3VuZGVmIEZMQUdfegojdW5kZWYgRkxBR19BCiN1bmRlZiBGTEFHX0IKI3VuZGVmIEZMQUdfQwojdW5kZWYgRkxBR19ECiN1bmRlZiBGTEFHX0UKI3VuZGVmIEZMQUdfRgojdW5kZWYgRkxBR19HCiN1bmRlZiBGTEFHX0gKI3VuZGVmIEZMQUdfSQojdW5kZWYgRkxBR19KCiN1bmRlZiBGTEFHX0sKI3VuZGVmIEZMQUdfTAojdW5kZWYgRkxBR19NCiN1bmRlZiBGTEFHX04KI3VuZGVmIEZMQUdfTwojdW5kZWYgRkxBR19QCiN1bmRlZiBGTEFHX1EKI3VuZGVmIEZMQUdfUgojdW5kZWYgRkxBR19TCiN1bmRlZiBGTEFHX1QKI3VuZGVmIEZMQUdfVQojdW5kZWYgRkxBR19WCiN1bmRlZiBGTEFHX1cKI3VuZGVmIEZMQUdfWAojdW5kZWYgRkxBR19ZCiN1bmRlZiBGTEFHX1oKI2VuZGlmCgovLyBkZW1vX251bWJlciAgIEQjPTM8M00jPDBoY2RicwojdW5kZWYgT1BUU1RSX2RlbW9fbnVtYmVyCiNkZWZpbmUgT1BUU1RSX2RlbW9fbnVtYmVyICJEIz0zPDNNIzwwaGNkYnMiCiNpZmRlZiBDTEVBTlVQX2RlbW9fbnVtYmVyCiN1bmRlZiBDTEVBTlVQX2RlbW9fbnVtYmVyCiN1bmRlZiBGT1JfZGVtb19udW1iZXIKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19iCiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19oCiN1bmRlZiBGTEFHX00KI3VuZGVmIEZMQUdfRAojZW5kaWYKCi8vIGRlbW9fc2NhbmtleSAgICAKI3VuZGVmIE9QVFNUUl9kZW1vX3NjYW5rZXkKI2RlZmluZSBPUFRTVFJfZGVtb19zY2Fua2V5IDAKI2lmZGVmIENMRUFOVVBfZGVtb19zY2Fua2V5CiN1bmRlZiBDTEVBTlVQX2RlbW9fc2NhbmtleQojdW5kZWYgRk9SX2RlbW9fc2NhbmtleQojZW5kaWYKCi8vIGRlbW9fdXRmOHRvd2MgICAgCiN1bmRlZiBPUFRTVFJfZGVtb191dGY4dG93YwojZGVmaW5lIE9QVFNUUl9kZW1vX3V0Zjh0b3djIDAKI2lmZGVmIENMRUFOVVBfZGVtb191dGY4dG93YwojdW5kZWYgQ0xFQU5VUF9kZW1vX3V0Zjh0b3djCiN1bmRlZiBGT1JfZGVtb191dGY4dG93YwojZW5kaWYKCi8vIGRldm1lbSAgIDwxPjMKI3VuZGVmIE9QVFNUUl9kZXZtZW0KI2RlZmluZSBPUFRTVFJfZGV2bWVtICI8MT4zIgojaWZkZWYgQ0xFQU5VUF9kZXZtZW0KI3VuZGVmIENMRUFOVVBfZGV2bWVtCiN1bmRlZiBGT1JfZGV2bWVtCiNlbmRpZgoKLy8gZGYgICBIUGtoaXQqYVstSFBoXQojdW5kZWYgT1BUU1RSX2RmCiNkZWZpbmUgT1BUU1RSX2RmICJIUGtoaXQqYVstSFBoXSIKI2lmZGVmIENMRUFOVVBfZGYKI3VuZGVmIENMRUFOVVBfZGYKI3VuZGVmIEZPUl9kZgojdW5kZWYgRkxBR19hCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfaQojdW5kZWYgRkxBR19oCiN1bmRlZiBGTEFHX2sKI3VuZGVmIEZMQUdfUAojdW5kZWYgRkxBR19ICiNlbmRpZgoKLy8gZGhjcCAgIFY6SDpGOngqcjpPKkEjPDA9MjBUIzwwPTN0IzwwPTNzOnA6aTpTQlJDYW92cW5iZgojdW5kZWYgT1BUU1RSX2RoY3AKI2RlZmluZSBPUFRTVFJfZGhjcCAiVjpIOkY6eCpyOk8qQSM8MD0yMFQjPDA9M3QjPDA9M3M6cDppOlNCUkNhb3ZxbmJmIgojaWZkZWYgQ0xFQU5VUF9kaGNwCiN1bmRlZiBDTEVBTlVQX2RoY3AKI3VuZGVmIEZPUl9kaGNwCiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfYgojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX3EKI3VuZGVmIEZMQUdfdgojdW5kZWYgRkxBR19vCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfQwojdW5kZWYgRkxBR19SCiN1bmRlZiBGTEFHX0IKI3VuZGVmIEZMQUdfUwojdW5kZWYgRkxBR19pCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX1QKI3VuZGVmIEZMQUdfQQojdW5kZWYgRkxBR19PCiN1bmRlZiBGTEFHX3IKI3VuZGVmIEZMQUdfeAojdW5kZWYgRkxBR19GCiN1bmRlZiBGTEFHX0gKI3VuZGVmIEZMQUdfVgojZW5kaWYKCi8vIGRoY3A2ICAgcjpBIzwwVCM8MHQjPDBzOnA6aTpTUnZxbmJmCiN1bmRlZiBPUFRTVFJfZGhjcDYKI2RlZmluZSBPUFRTVFJfZGhjcDYgInI6QSM8MFQjPDB0IzwwczpwOmk6U1J2cW5iZiIKI2lmZGVmIENMRUFOVVBfZGhjcDYKI3VuZGVmIENMRUFOVVBfZGhjcDYKI3VuZGVmIEZPUl9kaGNwNgojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX2IKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19xCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfUgojdW5kZWYgRkxBR19TCiN1bmRlZiBGTEFHX2kKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfVAojdW5kZWYgRkxBR19BCiN1bmRlZiBGTEFHX3IKI2VuZGlmCgovLyBkaGNwZCAgID4xUCM8MD42NTUzNWZpOlM0NlshNDZdCiN1bmRlZiBPUFRTVFJfZGhjcGQKI2RlZmluZSBPUFRTVFJfZGhjcGQgIj4xUCM8MD42NTUzNWZpOlM0NlshNDZdIgojaWZkZWYgQ0xFQU5VUF9kaGNwZAojdW5kZWYgQ0xFQU5VUF9kaGNwZAojdW5kZWYgRk9SX2RoY3BkCiN1bmRlZiBGTEFHXzYKI3VuZGVmIEZMQUdfNAojdW5kZWYgRkxBR19TCiN1bmRlZiBGTEFHX2kKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19QCiNlbmRpZgoKLy8gZGlmZiA8Mj4yKHVuY2hhbmdlZC1saW5lLWZvcm1hdCk6OyhvbGQtbGluZS1mb3JtYXQpOjsobmV3LWxpbmUtZm9ybWF0KTo7KGNvbG9yKShzdHJpcC10cmFpbGluZy1jcilCKGlnbm9yZS1ibGFuay1saW5lcylkKG1pbmltYWwpYihpZ25vcmUtc3BhY2UtY2hhbmdlKXV0KGV4cGFuZC10YWJzKXcoaWdub3JlLWFsbC1zcGFjZSlpKGlnbm9yZS1jYXNlKVQoaW5pdGlhbC10YWIpcyhyZXBvcnQtaWRlbnRpY2FsLWZpbGVzKXEoYnJpZWYpYSh0ZXh0KVMoc3RhcnRpbmctZmlsZSk6RihzaG93LWZ1bmN0aW9uLWxpbmUpOjtMKGxhYmVsKSpOKG5ldy1maWxlKXIocmVjdXJzaXZlKVUodW5pZmllZCkjPDA9MyA8Mj4yKHVuY2hhbmdlZC1saW5lLWZvcm1hdCk6OyhvbGQtbGluZS1mb3JtYXQpOjsobmV3LWxpbmUtZm9ybWF0KTo7KGNvbG9yKShzdHJpcC10cmFpbGluZy1jcilCKGlnbm9yZS1ibGFuay1saW5lcylkKG1pbmltYWwpYihpZ25vcmUtc3BhY2UtY2hhbmdlKXV0KGV4cGFuZC10YWJzKXcoaWdub3JlLWFsbC1zcGFjZSlpKGlnbm9yZS1jYXNlKVQoaW5pdGlhbC10YWIpcyhyZXBvcnQtaWRlbnRpY2FsLWZpbGVzKXEoYnJpZWYpYSh0ZXh0KVMoc3RhcnRpbmctZmlsZSk6RihzaG93LWZ1bmN0aW9uLWxpbmUpOjtMKGxhYmVsKSpOKG5ldy1maWxlKXIocmVjdXJzaXZlKVUodW5pZmllZCkjPDA9MwojdW5kZWYgT1BUU1RSX2RpZmYKI2RlZmluZSBPUFRTVFJfZGlmZiAiPDI+Mih1bmNoYW5nZWQtbGluZS1mb3JtYXQpOjsob2xkLWxpbmUtZm9ybWF0KTo7KG5ldy1saW5lLWZvcm1hdCk6Oyhjb2xvcikoc3RyaXAtdHJhaWxpbmctY3IpQihpZ25vcmUtYmxhbmstbGluZXMpZChtaW5pbWFsKWIoaWdub3JlLXNwYWNlLWNoYW5nZSl1dChleHBhbmQtdGFicyl3KGlnbm9yZS1hbGwtc3BhY2UpaShpZ25vcmUtY2FzZSlUKGluaXRpYWwtdGFiKXMocmVwb3J0LWlkZW50aWNhbC1maWxlcylxKGJyaWVmKWEodGV4dClTKHN0YXJ0aW5nLWZpbGUpOkYoc2hvdy1mdW5jdGlvbi1saW5lKTo7TChsYWJlbCkqTihuZXctZmlsZSlyKHJlY3Vyc2l2ZSlVKHVuaWZpZWQpIzwwPTMiCiNpZmRlZiBDTEVBTlVQX2RpZmYKI3VuZGVmIENMRUFOVVBfZGlmZgojdW5kZWYgRk9SX2RpZmYKI3VuZGVmIEZMQUdfVQojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX04KI3VuZGVmIEZMQUdfTAojdW5kZWYgRkxBR19GCiN1bmRlZiBGTEFHX1MKI3VuZGVmIEZMQUdfYQojdW5kZWYgRkxBR19xCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfVAojdW5kZWYgRkxBR19pCiN1bmRlZiBGTEFHX3cKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX2IKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19CCiN1bmRlZiBGTEFHX3N0cmlwX3RyYWlsaW5nX2NyCiN1bmRlZiBGTEFHX2NvbG9yCiN1bmRlZiBGTEFHX25ld19saW5lX2Zvcm1hdAojdW5kZWYgRkxBR19vbGRfbGluZV9mb3JtYXQKI3VuZGVmIEZMQUdfdW5jaGFuZ2VkX2xpbmVfZm9ybWF0CiNlbmRpZgoKLy8gZGlybmFtZSA8MSA8MQojdW5kZWYgT1BUU1RSX2Rpcm5hbWUKI2RlZmluZSBPUFRTVFJfZGlybmFtZSAiPDEiCiNpZmRlZiBDTEVBTlVQX2Rpcm5hbWUKI3VuZGVmIENMRUFOVVBfZGlybmFtZQojdW5kZWYgRk9SX2Rpcm5hbWUKI2VuZGlmCgovLyBkbWVzZyAgIHcoZm9sbG93KUNTVHRycyM8MW4jY1shVHRyXVshQ2NdWyFTd10KI3VuZGVmIE9QVFNUUl9kbWVzZwojZGVmaW5lIE9QVFNUUl9kbWVzZyAidyhmb2xsb3cpQ1NUdHJzIzwxbiNjWyFUdHJdWyFDY11bIVN3XSIKI2lmZGVmIENMRUFOVVBfZG1lc2cKI3VuZGVmIENMRUFOVVBfZG1lc2cKI3VuZGVmIEZPUl9kbWVzZwojdW5kZWYgRkxBR19jCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfVAojdW5kZWYgRkxBR19TCiN1bmRlZiBGTEFHX0MKI3VuZGVmIEZMQUdfdwojZW5kaWYKCi8vIGRuc2RvbWFpbm5hbWUgICA+MAojdW5kZWYgT1BUU1RSX2Ruc2RvbWFpbm5hbWUKI2RlZmluZSBPUFRTVFJfZG5zZG9tYWlubmFtZSAiPjAiCiNpZmRlZiBDTEVBTlVQX2Ruc2RvbWFpbm5hbWUKI3VuZGVmIENMRUFOVVBfZG5zZG9tYWlubmFtZQojdW5kZWYgRk9SX2Ruc2RvbWFpbm5hbWUKI2VuZGlmCgovLyBkb3MydW5peCAgICAKI3VuZGVmIE9QVFNUUl9kb3MydW5peAojZGVmaW5lIE9QVFNUUl9kb3MydW5peCAwCiNpZmRlZiBDTEVBTlVQX2RvczJ1bml4CiN1bmRlZiBDTEVBTlVQX2RvczJ1bml4CiN1bmRlZiBGT1JfZG9zMnVuaXgKI2VuZGlmCgovLyBkdSBkIzwwPS0xaG1sY2FIa0tMc3hiWy1ITF1bLWtLbWhdIGQjPDA9LTFobWxjYUhrS0xzeGJbLUhMXVsta0ttaF0KI3VuZGVmIE9QVFNUUl9kdQojZGVmaW5lIE9QVFNUUl9kdSAiZCM8MD0tMWhtbGNhSGtLTHN4YlstSExdWy1rS21oXSIKI2lmZGVmIENMRUFOVVBfZHUKI3VuZGVmIENMRUFOVVBfZHUKI3VuZGVmIEZPUl9kdQojdW5kZWYgRkxBR19iCiN1bmRlZiBGTEFHX3gKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19MCiN1bmRlZiBGTEFHX0sKI3VuZGVmIEZMQUdfawojdW5kZWYgRkxBR19ICiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX20KI3VuZGVmIEZMQUdfaAojdW5kZWYgRkxBR19kCiNlbmRpZgoKLy8gZHVtcGxlYXNlcyAgID4wYXJmOlshYXJdCiN1bmRlZiBPUFRTVFJfZHVtcGxlYXNlcwojZGVmaW5lIE9QVFNUUl9kdW1wbGVhc2VzICI+MGFyZjpbIWFyXSIKI2lmZGVmIENMRUFOVVBfZHVtcGxlYXNlcwojdW5kZWYgQ0xFQU5VUF9kdW1wbGVhc2VzCiN1bmRlZiBGT1JfZHVtcGxlYXNlcwojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX3IKI3VuZGVmIEZMQUdfYQojZW5kaWYKCi8vIGVjaG8gXj9FZW5bLWVFXSBeP0VlblstZUVdCiN1bmRlZiBPUFRTVFJfZWNobwojZGVmaW5lIE9QVFNUUl9lY2hvICJeP0VlblstZUVdIgojaWZkZWYgQ0xFQU5VUF9lY2hvCiN1bmRlZiBDTEVBTlVQX2VjaG8KI3VuZGVmIEZPUl9lY2hvCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfZQojdW5kZWYgRkxBR19FCiNlbmRpZgoKLy8gZWplY3QgICA+MXN0VFshdFRdCiN1bmRlZiBPUFRTVFJfZWplY3QKI2RlZmluZSBPUFRTVFJfZWplY3QgIj4xc3RUWyF0VF0iCiNpZmRlZiBDTEVBTlVQX2VqZWN0CiN1bmRlZiBDTEVBTlVQX2VqZWN0CiN1bmRlZiBGT1JfZWplY3QKI3VuZGVmIEZMQUdfVAojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX3MKI2VuZGlmCgovLyBlbnYgXmU6aTB1KiBeZTppMHUqCiN1bmRlZiBPUFRTVFJfZW52CiNkZWZpbmUgT1BUU1RSX2VudiAiXmU6aTB1KiIKI2lmZGVmIENMRUFOVVBfZW52CiN1bmRlZiBDTEVBTlVQX2VudgojdW5kZWYgRk9SX2VudgojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHXzAKI3VuZGVmIEZMQUdfaQojdW5kZWYgRkxBR19lCiNlbmRpZgoKLy8gZXZhbCAgICAKI3VuZGVmIE9QVFNUUl9ldmFsCiNkZWZpbmUgT1BUU1RSX2V2YWwgMAojaWZkZWYgQ0xFQU5VUF9ldmFsCiN1bmRlZiBDTEVBTlVQX2V2YWwKI3VuZGVmIEZPUl9ldmFsCiNlbmRpZgoKLy8gZXhlYyAgIF5jbGE6CiN1bmRlZiBPUFRTVFJfZXhlYwojZGVmaW5lIE9QVFNUUl9leGVjICJeY2xhOiIKI2lmZGVmIENMRUFOVVBfZXhlYwojdW5kZWYgQ0xFQU5VUF9leGVjCiN1bmRlZiBGT1JfZXhlYwojdW5kZWYgRkxBR19hCiN1bmRlZiBGTEFHX2wKI3VuZGVmIEZMQUdfYwojZW5kaWYKCi8vIGV4aXQgICAgCiN1bmRlZiBPUFRTVFJfZXhpdAojZGVmaW5lIE9QVFNUUl9leGl0IDAKI2lmZGVmIENMRUFOVVBfZXhpdAojdW5kZWYgQ0xFQU5VUF9leGl0CiN1bmRlZiBGT1JfZXhpdAojZW5kaWYKCi8vIGV4cGFuZCAgIHQqCiN1bmRlZiBPUFRTVFJfZXhwYW5kCiNkZWZpbmUgT1BUU1RSX2V4cGFuZCAidCoiCiNpZmRlZiBDTEVBTlVQX2V4cGFuZAojdW5kZWYgQ0xFQU5VUF9leHBhbmQKI3VuZGVmIEZPUl9leHBhbmQKI3VuZGVmIEZMQUdfdAojZW5kaWYKCi8vIGV4cG9ydCAgIG5wCiN1bmRlZiBPUFRTVFJfZXhwb3J0CiNkZWZpbmUgT1BUU1RSX2V4cG9ydCAibnAiCiNpZmRlZiBDTEVBTlVQX2V4cG9ydAojdW5kZWYgQ0xFQU5VUF9leHBvcnQKI3VuZGVmIEZPUl9leHBvcnQKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19uCiNlbmRpZgoKLy8gZXhwciAgICAKI3VuZGVmIE9QVFNUUl9leHByCiNkZWZpbmUgT1BUU1RSX2V4cHIgMAojaWZkZWYgQ0xFQU5VUF9leHByCiN1bmRlZiBDTEVBTlVQX2V4cHIKI3VuZGVmIEZPUl9leHByCiNlbmRpZgoKLy8gZmFjdG9yICAgP2h4CiN1bmRlZiBPUFRTVFJfZmFjdG9yCiNkZWZpbmUgT1BUU1RSX2ZhY3RvciAiP2h4IgojaWZkZWYgQ0xFQU5VUF9mYWN0b3IKI3VuZGVmIENMRUFOVVBfZmFjdG9yCiN1bmRlZiBGT1JfZmFjdG9yCiN1bmRlZiBGTEFHX3gKI3VuZGVmIEZMQUdfaAojZW5kaWYKCi8vIGZhbGxvY2F0ZSAgID4xbCN8byMKI3VuZGVmIE9QVFNUUl9mYWxsb2NhdGUKI2RlZmluZSBPUFRTVFJfZmFsbG9jYXRlICI+MWwjfG8jIgojaWZkZWYgQ0xFQU5VUF9mYWxsb2NhdGUKI3VuZGVmIENMRUFOVVBfZmFsbG9jYXRlCiN1bmRlZiBGT1JfZmFsbG9jYXRlCiN1bmRlZiBGTEFHX28KI3VuZGVmIEZMQUdfbAojZW5kaWYKCi8vIGZhbHNlICAgIAojdW5kZWYgT1BUU1RSX2ZhbHNlCiNkZWZpbmUgT1BUU1RSX2ZhbHNlIDAKI2lmZGVmIENMRUFOVVBfZmFsc2UKI3VuZGVmIENMRUFOVVBfZmFsc2UKI3VuZGVmIEZPUl9mYWxzZQojZW5kaWYKCi8vIGZkaXNrICAgQyM8MEgjPDBTIzwwYiM8NTEydWwKI3VuZGVmIE9QVFNUUl9mZGlzawojZGVmaW5lIE9QVFNUUl9mZGlzayAiQyM8MEgjPDBTIzwwYiM8NTEydWwiCiNpZmRlZiBDTEVBTlVQX2ZkaXNrCiN1bmRlZiBDTEVBTlVQX2ZkaXNrCiN1bmRlZiBGT1JfZmRpc2sKI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX2IKI3VuZGVmIEZMQUdfUwojdW5kZWYgRkxBR19ICiN1bmRlZiBGTEFHX0MKI2VuZGlmCgovLyBmaWxlIDwxYihicmllZiloTHNbIWhMXSA8MWIoYnJpZWYpaExzWyFoTF0KI3VuZGVmIE9QVFNUUl9maWxlCiNkZWZpbmUgT1BUU1RSX2ZpbGUgIjwxYihicmllZiloTHNbIWhMXSIKI2lmZGVmIENMRUFOVVBfZmlsZQojdW5kZWYgQ0xFQU5VUF9maWxlCiN1bmRlZiBGT1JfZmlsZQojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX0wKI3VuZGVmIEZMQUdfaAojdW5kZWYgRkxBR19iCiNlbmRpZgoKLy8gZmluZCA/XkhMWy1ITF0gP15ITFstSExdCiN1bmRlZiBPUFRTVFJfZmluZAojZGVmaW5lIE9QVFNUUl9maW5kICI/XkhMWy1ITF0iCiNpZmRlZiBDTEVBTlVQX2ZpbmQKI3VuZGVmIENMRUFOVVBfZmluZAojdW5kZWYgRk9SX2ZpbmQKI3VuZGVmIEZMQUdfTAojdW5kZWYgRkxBR19ICiNlbmRpZgoKLy8gZmxvY2sgICA8MT4xbnN1eFstc3V4XQojdW5kZWYgT1BUU1RSX2Zsb2NrCiNkZWZpbmUgT1BUU1RSX2Zsb2NrICI8MT4xbnN1eFstc3V4XSIKI2lmZGVmIENMRUFOVVBfZmxvY2sKI3VuZGVmIENMRUFOVVBfZmxvY2sKI3VuZGVmIEZPUl9mbG9jawojdW5kZWYgRkxBR194CiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19uCiNlbmRpZgoKLy8gZm10ICAgdyM8MD03NQojdW5kZWYgT1BUU1RSX2ZtdAojZGVmaW5lIE9QVFNUUl9mbXQgIncjPDA9NzUiCiNpZmRlZiBDTEVBTlVQX2ZtdAojdW5kZWYgQ0xFQU5VUF9mbXQKI3VuZGVmIEZPUl9mbXQKI3VuZGVmIEZMQUdfdwojZW5kaWYKCi8vIGZvbGQgICBic3cjPDE9ODAKI3VuZGVmIE9QVFNUUl9mb2xkCiNkZWZpbmUgT1BUU1RSX2ZvbGQgImJzdyM8MT04MCIKI2lmZGVmIENMRUFOVVBfZm9sZAojdW5kZWYgQ0xFQU5VUF9mb2xkCiN1bmRlZiBGT1JfZm9sZAojdW5kZWYgRkxBR193CiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfYgojZW5kaWYKCi8vIGZyZWUgICBoZ21rYlshaGdta2JdCiN1bmRlZiBPUFRTVFJfZnJlZQojZGVmaW5lIE9QVFNUUl9mcmVlICJoZ21rYlshaGdta2JdIgojaWZkZWYgQ0xFQU5VUF9mcmVlCiN1bmRlZiBDTEVBTlVQX2ZyZWUKI3VuZGVmIEZPUl9mcmVlCiN1bmRlZiBGTEFHX2IKI3VuZGVmIEZMQUdfawojdW5kZWYgRkxBR19tCiN1bmRlZiBGTEFHX2cKI3VuZGVmIEZMQUdfaAojZW5kaWYKCi8vIGZyZWVyYW1kaXNrICAgPDE+MQojdW5kZWYgT1BUU1RSX2ZyZWVyYW1kaXNrCiNkZWZpbmUgT1BUU1RSX2ZyZWVyYW1kaXNrICI8MT4xIgojaWZkZWYgQ0xFQU5VUF9mcmVlcmFtZGlzawojdW5kZWYgQ0xFQU5VUF9mcmVlcmFtZGlzawojdW5kZWYgRk9SX2ZyZWVyYW1kaXNrCiNlbmRpZgoKLy8gZnNjayAgID90OkFOUFJUVnNDIwojdW5kZWYgT1BUU1RSX2ZzY2sKI2RlZmluZSBPUFRTVFJfZnNjayAiP3Q6QU5QUlRWc0MjIgojaWZkZWYgQ0xFQU5VUF9mc2NrCiN1bmRlZiBDTEVBTlVQX2ZzY2sKI3VuZGVmIEZPUl9mc2NrCiN1bmRlZiBGTEFHX0MKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19WCiN1bmRlZiBGTEFHX1QKI3VuZGVmIEZMQUdfUgojdW5kZWYgRkxBR19QCiN1bmRlZiBGTEFHX04KI3VuZGVmIEZMQUdfQQojdW5kZWYgRkxBR190CiNlbmRpZgoKLy8gZnNmcmVlemUgICA8MT4xZnx1fFshZnVdCiN1bmRlZiBPUFRTVFJfZnNmcmVlemUKI2RlZmluZSBPUFRTVFJfZnNmcmVlemUgIjwxPjFmfHV8WyFmdV0iCiNpZmRlZiBDTEVBTlVQX2ZzZnJlZXplCiN1bmRlZiBDTEVBTlVQX2ZzZnJlZXplCiN1bmRlZiBGT1JfZnNmcmVlemUKI3VuZGVmIEZMQUdfdQojdW5kZWYgRkxBR19mCiNlbmRpZgoKLy8gZnN0eXBlICAgPDEKI3VuZGVmIE9QVFNUUl9mc3R5cGUKI2RlZmluZSBPUFRTVFJfZnN0eXBlICI8MSIKI2lmZGVmIENMRUFOVVBfZnN0eXBlCiN1bmRlZiBDTEVBTlVQX2ZzdHlwZQojdW5kZWYgRk9SX2ZzdHlwZQojZW5kaWYKCi8vIGZzeW5jICAgPDFkCiN1bmRlZiBPUFRTVFJfZnN5bmMKI2RlZmluZSBPUFRTVFJfZnN5bmMgIjwxZCIKI2lmZGVmIENMRUFOVVBfZnN5bmMKI3VuZGVmIENMRUFOVVBfZnN5bmMKI3VuZGVmIEZPUl9mc3luYwojdW5kZWYgRkxBR19kCiNlbmRpZgoKLy8gZnRwZ2V0ICAgPDI+M1A6Y3A6dTp2Z3NsTG1NZERbLWdzXVshZ3NsTG1NZERdWyFjbExdCiN1bmRlZiBPUFRTVFJfZnRwZ2V0CiNkZWZpbmUgT1BUU1RSX2Z0cGdldCAiPDI+M1A6Y3A6dTp2Z3NsTG1NZERbLWdzXVshZ3NsTG1NZERdWyFjbExdIgojaWZkZWYgQ0xFQU5VUF9mdHBnZXQKI3VuZGVmIENMRUFOVVBfZnRwZ2V0CiN1bmRlZiBGT1JfZnRwZ2V0CiN1bmRlZiBGTEFHX0QKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19NCiN1bmRlZiBGTEFHX20KI3VuZGVmIEZMQUdfTAojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfZwojdW5kZWYgRkxBR192CiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19jCiN1bmRlZiBGTEFHX1AKI2VuZGlmCgovLyBnZXRjb25mID4yYWwgPjJhbAojdW5kZWYgT1BUU1RSX2dldGNvbmYKI2RlZmluZSBPUFRTVFJfZ2V0Y29uZiAiPjJhbCIKI2lmZGVmIENMRUFOVVBfZ2V0Y29uZgojdW5kZWYgQ0xFQU5VUF9nZXRjb25mCiN1bmRlZiBGT1JfZ2V0Y29uZgojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX2EKI2VuZGlmCgovLyBnZXRlbmZvcmNlICAgPjAKI3VuZGVmIE9QVFNUUl9nZXRlbmZvcmNlCiNkZWZpbmUgT1BUU1RSX2dldGVuZm9yY2UgIj4wIgojaWZkZWYgQ0xFQU5VUF9nZXRlbmZvcmNlCiN1bmRlZiBDTEVBTlVQX2dldGVuZm9yY2UKI3VuZGVmIEZPUl9nZXRlbmZvcmNlCiNlbmRpZgoKLy8gZ2V0ZmF0dHIgICAob25seS12YWx1ZXMpZGhuOgojdW5kZWYgT1BUU1RSX2dldGZhdHRyCiNkZWZpbmUgT1BUU1RSX2dldGZhdHRyICIob25seS12YWx1ZXMpZGhuOiIKI2lmZGVmIENMRUFOVVBfZ2V0ZmF0dHIKI3VuZGVmIENMRUFOVVBfZ2V0ZmF0dHIKI3VuZGVmIEZPUl9nZXRmYXR0cgojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX2gKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19vbmx5X3ZhbHVlcwojZW5kaWYKCi8vIGdldG9wdCBeYShhbHRlcm5hdGl2ZSluOihuYW1lKW86KG9wdGlvbnMpbCoobG9uZykobG9uZ29wdGlvbnMpVHUgXmEoYWx0ZXJuYXRpdmUpbjoobmFtZSlvOihvcHRpb25zKWwqKGxvbmcpKGxvbmdvcHRpb25zKVR1CiN1bmRlZiBPUFRTVFJfZ2V0b3B0CiNkZWZpbmUgT1BUU1RSX2dldG9wdCAiXmEoYWx0ZXJuYXRpdmUpbjoobmFtZSlvOihvcHRpb25zKWwqKGxvbmcpKGxvbmdvcHRpb25zKVR1IgojaWZkZWYgQ0xFQU5VUF9nZXRvcHQKI3VuZGVmIENMRUFOVVBfZ2V0b3B0CiN1bmRlZiBGT1JfZ2V0b3B0CiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfVAojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX28KI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19hCiNlbmRpZgoKLy8gZ2V0dHkgICA8MnQjPDBIOkk6bDpmOml3bm1MaAojdW5kZWYgT1BUU1RSX2dldHR5CiNkZWZpbmUgT1BUU1RSX2dldHR5ICI8MnQjPDBIOkk6bDpmOml3bm1MaCIKI2lmZGVmIENMRUFOVVBfZ2V0dHkKI3VuZGVmIENMRUFOVVBfZ2V0dHkKI3VuZGVmIEZPUl9nZXR0eQojdW5kZWYgRkxBR19oCiN1bmRlZiBGTEFHX0wKI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX3cKI3VuZGVmIEZMQUdfaQojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX2wKI3VuZGVmIEZMQUdfSQojdW5kZWYgRkxBR19ICiN1bmRlZiBGTEFHX3QKI2VuZGlmCgovLyBnaXRjaGVja291dCAgIDwxCiN1bmRlZiBPUFRTVFJfZ2l0Y2hlY2tvdXQKI2RlZmluZSBPUFRTVFJfZ2l0Y2hlY2tvdXQgIjwxIgojaWZkZWYgQ0xFQU5VUF9naXRjaGVja291dAojdW5kZWYgQ0xFQU5VUF9naXRjaGVja291dAojdW5kZWYgRk9SX2dpdGNoZWNrb3V0CiNlbmRpZgoKLy8gZ2l0Y2xvbmUgICA8MQojdW5kZWYgT1BUU1RSX2dpdGNsb25lCiNkZWZpbmUgT1BUU1RSX2dpdGNsb25lICI8MSIKI2lmZGVmIENMRUFOVVBfZ2l0Y2xvbmUKI3VuZGVmIENMRUFOVVBfZ2l0Y2xvbmUKI3VuZGVmIEZPUl9naXRjbG9uZQojZW5kaWYKCi8vIGdpdGZldGNoICAgIAojdW5kZWYgT1BUU1RSX2dpdGZldGNoCiNkZWZpbmUgT1BUU1RSX2dpdGZldGNoIDAKI2lmZGVmIENMRUFOVVBfZ2l0ZmV0Y2gKI3VuZGVmIENMRUFOVVBfZ2l0ZmV0Y2gKI3VuZGVmIEZPUl9naXRmZXRjaAojZW5kaWYKCi8vIGdpdGluaXQgICA8MQojdW5kZWYgT1BUU1RSX2dpdGluaXQKI2RlZmluZSBPUFRTVFJfZ2l0aW5pdCAiPDEiCiNpZmRlZiBDTEVBTlVQX2dpdGluaXQKI3VuZGVmIENMRUFOVVBfZ2l0aW5pdAojdW5kZWYgRk9SX2dpdGluaXQKI2VuZGlmCgovLyBnaXRyZW1vdGUgICA8MQojdW5kZWYgT1BUU1RSX2dpdHJlbW90ZQojZGVmaW5lIE9QVFNUUl9naXRyZW1vdGUgIjwxIgojaWZkZWYgQ0xFQU5VUF9naXRyZW1vdGUKI3VuZGVmIENMRUFOVVBfZ2l0cmVtb3RlCiN1bmRlZiBGT1JfZ2l0cmVtb3RlCiNlbmRpZgoKLy8gZ3Bpb2RldGVjdCAgID4wCiN1bmRlZiBPUFRTVFJfZ3Bpb2RldGVjdAojZGVmaW5lIE9QVFNUUl9ncGlvZGV0ZWN0ICI+MCIKI2lmZGVmIENMRUFOVVBfZ3Bpb2RldGVjdAojdW5kZWYgQ0xFQU5VUF9ncGlvZGV0ZWN0CiN1bmRlZiBGT1JfZ3Bpb2RldGVjdAojZW5kaWYKCi8vIGdwaW9maW5kICAgPDE+MQojdW5kZWYgT1BUU1RSX2dwaW9maW5kCiNkZWZpbmUgT1BUU1RSX2dwaW9maW5kICI8MT4xIgojaWZkZWYgQ0xFQU5VUF9ncGlvZmluZAojdW5kZWYgQ0xFQU5VUF9ncGlvZmluZAojdW5kZWYgRk9SX2dwaW9maW5kCiNlbmRpZgoKLy8gZ3Bpb2dldCAgIDwybAojdW5kZWYgT1BUU1RSX2dwaW9nZXQKI2RlZmluZSBPUFRTVFJfZ3Bpb2dldCAiPDJsIgojaWZkZWYgQ0xFQU5VUF9ncGlvZ2V0CiN1bmRlZiBDTEVBTlVQX2dwaW9nZXQKI3VuZGVmIEZPUl9ncGlvZ2V0CiN1bmRlZiBGTEFHX2wKI2VuZGlmCgovLyBncGlvaW5mbyAgICAKI3VuZGVmIE9QVFNUUl9ncGlvaW5mbwojZGVmaW5lIE9QVFNUUl9ncGlvaW5mbyAwCiNpZmRlZiBDTEVBTlVQX2dwaW9pbmZvCiN1bmRlZiBDTEVBTlVQX2dwaW9pbmZvCiN1bmRlZiBGT1JfZ3Bpb2luZm8KI2VuZGlmCgovLyBncGlvc2V0ICAgPDJsCiN1bmRlZiBPUFRTVFJfZ3Bpb3NldAojZGVmaW5lIE9QVFNUUl9ncGlvc2V0ICI8MmwiCiNpZmRlZiBDTEVBTlVQX2dwaW9zZXQKI3VuZGVmIENMRUFOVVBfZ3Bpb3NldAojdW5kZWYgRk9SX2dwaW9zZXQKI3VuZGVmIEZMQUdfbAojZW5kaWYKCi8vIGdyZXAgKGxpbmUtYnVmZmVyZWQpKGNvbG9yKTo7KGV4Y2x1ZGUtZGlyKSpTKGV4Y2x1ZGUpKk0oaW5jbHVkZSkqWnpFRkhJYWIoYnl0ZS1vZmZzZXQpaChuby1maWxlbmFtZSlpbm8ob25seS1tYXRjaGluZylyUnN2d2MoY291bnQpTChmaWxlcy13aXRob3V0LW1hdGNoKWwoZmlsZXMtd2l0aC1tYXRjaGVzKXEocXVpZXQpKHNpbGVudCllKmYqQyNCI0EjbSN4WyF3eF1bIUVGXSAobGluZS1idWZmZXJlZCkoY29sb3IpOjsoZXhjbHVkZS1kaXIpKlMoZXhjbHVkZSkqTShpbmNsdWRlKSpaekVGSElhYihieXRlLW9mZnNldCloKG5vLWZpbGVuYW1lKWlubyhvbmx5LW1hdGNoaW5nKXJSc3Z3Yyhjb3VudClMKGZpbGVzLXdpdGhvdXQtbWF0Y2gpbChmaWxlcy13aXRoLW1hdGNoZXMpcShxdWlldCkoc2lsZW50KWUqZipDI0IjQSNtI3hbIXd4XVshRUZdCiN1bmRlZiBPUFRTVFJfZ3JlcAojZGVmaW5lIE9QVFNUUl9ncmVwICIobGluZS1idWZmZXJlZCkoY29sb3IpOjsoZXhjbHVkZS1kaXIpKlMoZXhjbHVkZSkqTShpbmNsdWRlKSpaekVGSElhYihieXRlLW9mZnNldCloKG5vLWZpbGVuYW1lKWlubyhvbmx5LW1hdGNoaW5nKXJSc3Z3Yyhjb3VudClMKGZpbGVzLXdpdGhvdXQtbWF0Y2gpbChmaWxlcy13aXRoLW1hdGNoZXMpcShxdWlldCkoc2lsZW50KWUqZipDI0IjQSNtI3hbIXd4XVshRUZdIgojaWZkZWYgQ0xFQU5VUF9ncmVwCiN1bmRlZiBDTEVBTlVQX2dyZXAKI3VuZGVmIEZPUl9ncmVwCiN1bmRlZiBGTEFHX3gKI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR19BCiN1bmRlZiBGTEFHX0IKI3VuZGVmIEZMQUdfQwojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX2UKI3VuZGVmIEZMQUdfcQojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX0wKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR193CiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19SCiN1bmRlZiBGTEFHX3IKI3VuZGVmIEZMQUdfbwojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX2kKI3VuZGVmIEZMQUdfaAojdW5kZWYgRkxBR19iCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfSQojdW5kZWYgRkxBR19ICiN1bmRlZiBGTEFHX0YKI3VuZGVmIEZMQUdfRQojdW5kZWYgRkxBR196CiN1bmRlZiBGTEFHX1oKI3VuZGVmIEZMQUdfTQojdW5kZWYgRkxBR19TCiN1bmRlZiBGTEFHX2V4Y2x1ZGVfZGlyCiN1bmRlZiBGTEFHX2NvbG9yCiN1bmRlZiBGTEFHX2xpbmVfYnVmZmVyZWQKI2VuZGlmCgovLyBncm91cGFkZCAgIDwxPjJSOmcjPDA+MjE0NzQ4MzY0N1MKI3VuZGVmIE9QVFNUUl9ncm91cGFkZAojZGVmaW5lIE9QVFNUUl9ncm91cGFkZCAiPDE+MlI6ZyM8MD4yMTQ3NDgzNjQ3UyIKI2lmZGVmIENMRUFOVVBfZ3JvdXBhZGQKI3VuZGVmIENMRUFOVVBfZ3JvdXBhZGQKI3VuZGVmIEZPUl9ncm91cGFkZAojdW5kZWYgRkxBR19TCiN1bmRlZiBGTEFHX2cKI3VuZGVmIEZMQUdfUgojZW5kaWYKCi8vIGdyb3VwZGVsICAgPDE+Mj8KI3VuZGVmIE9QVFNUUl9ncm91cGRlbAojZGVmaW5lIE9QVFNUUl9ncm91cGRlbCAiPDE+Mj8iCiNpZmRlZiBDTEVBTlVQX2dyb3VwZGVsCiN1bmRlZiBDTEVBTlVQX2dyb3VwZGVsCiN1bmRlZiBGT1JfZ3JvdXBkZWwKI2VuZGlmCgovLyBncm91cHMgICAgCiN1bmRlZiBPUFRTVFJfZ3JvdXBzCiNkZWZpbmUgT1BUU1RSX2dyb3VwcyAwCiNpZmRlZiBDTEVBTlVQX2dyb3VwcwojdW5kZWYgQ0xFQU5VUF9ncm91cHMKI3VuZGVmIEZPUl9ncm91cHMKI2VuZGlmCgovLyBndW56aXAgICBjZGZrdDEyMzQ1Njc4OVstMTIzNDU2Nzg5XQojdW5kZWYgT1BUU1RSX2d1bnppcAojZGVmaW5lIE9QVFNUUl9ndW56aXAgImNkZmt0MTIzNDU2Nzg5Wy0xMjM0NTY3ODldIgojaWZkZWYgQ0xFQU5VUF9ndW56aXAKI3VuZGVmIENMRUFOVVBfZ3VuemlwCiN1bmRlZiBGT1JfZ3VuemlwCiN1bmRlZiBGTEFHXzkKI3VuZGVmIEZMQUdfOAojdW5kZWYgRkxBR183CiN1bmRlZiBGTEFHXzYKI3VuZGVmIEZMQUdfNQojdW5kZWYgRkxBR180CiN1bmRlZiBGTEFHXzMKI3VuZGVmIEZMQUdfMgojdW5kZWYgRkxBR18xCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfawojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfYwojZW5kaWYKCi8vIGd6aXAgbihuby1uYW1lKWNkZmt0MTIzNDU2Nzg5Wy0xMjM0NTY3ODldIG4obm8tbmFtZSljZGZrdDEyMzQ1Njc4OVstMTIzNDU2Nzg5XQojdW5kZWYgT1BUU1RSX2d6aXAKI2RlZmluZSBPUFRTVFJfZ3ppcCAibihuby1uYW1lKWNkZmt0MTIzNDU2Nzg5Wy0xMjM0NTY3ODldIgojaWZkZWYgQ0xFQU5VUF9nemlwCiN1bmRlZiBDTEVBTlVQX2d6aXAKI3VuZGVmIEZPUl9nemlwCiN1bmRlZiBGTEFHXzkKI3VuZGVmIEZMQUdfOAojdW5kZWYgRkxBR183CiN1bmRlZiBGTEFHXzYKI3VuZGVmIEZMQUdfNQojdW5kZWYgRkxBR180CiN1bmRlZiBGTEFHXzMKI3VuZGVmIEZMQUdfMgojdW5kZWYgRkxBR18xCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfawojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19uCiNlbmRpZgoKLy8gaGVhZCA/bihsaW5lcykjPDA9MTBjKGJ5dGVzKSM8MHF2Wy1uY10gP24obGluZXMpIzwwPTEwYyhieXRlcykjPDBxdlstbmNdCiN1bmRlZiBPUFRTVFJfaGVhZAojZGVmaW5lIE9QVFNUUl9oZWFkICI/bihsaW5lcykjPDA9MTBjKGJ5dGVzKSM8MHF2Wy1uY10iCiNpZmRlZiBDTEVBTlVQX2hlYWQKI3VuZGVmIENMRUFOVVBfaGVhZAojdW5kZWYgRk9SX2hlYWQKI3VuZGVmIEZMQUdfdgojdW5kZWYgRkxBR19xCiN1bmRlZiBGTEFHX2MKI3VuZGVmIEZMQUdfbgojZW5kaWYKCi8vIGhlbGxvICAgIAojdW5kZWYgT1BUU1RSX2hlbGxvCiNkZWZpbmUgT1BUU1RSX2hlbGxvIDAKI2lmZGVmIENMRUFOVVBfaGVsbG8KI3VuZGVmIENMRUFOVVBfaGVsbG8KI3VuZGVmIEZPUl9oZWxsbwojZW5kaWYKCi8vIGhlbHAgICBhaHUKI3VuZGVmIE9QVFNUUl9oZWxwCiNkZWZpbmUgT1BUU1RSX2hlbHAgImFodSIKI2lmZGVmIENMRUFOVVBfaGVscAojdW5kZWYgQ0xFQU5VUF9oZWxwCiN1bmRlZiBGT1JfaGVscAojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX2gKI3VuZGVmIEZMQUdfYQojZW5kaWYKCi8vIGhleGR1bXAgICBiY0NkbiM8MG9zIzwwdnhbIWJjQ2RveF0KI3VuZGVmIE9QVFNUUl9oZXhkdW1wCiNkZWZpbmUgT1BUU1RSX2hleGR1bXAgImJjQ2RuIzwwb3MjPDB2eFshYmNDZG94XSIKI2lmZGVmIENMRUFOVVBfaGV4ZHVtcAojdW5kZWYgQ0xFQU5VUF9oZXhkdW1wCiN1bmRlZiBGT1JfaGV4ZHVtcAojdW5kZWYgRkxBR194CiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19vCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19DCiN1bmRlZiBGTEFHX2MKI3VuZGVmIEZMQUdfYgojZW5kaWYKCi8vIGhleGVkaXQgICA8MT4xcgojdW5kZWYgT1BUU1RSX2hleGVkaXQKI2RlZmluZSBPUFRTVFJfaGV4ZWRpdCAiPDE+MXIiCiNpZmRlZiBDTEVBTlVQX2hleGVkaXQKI3VuZGVmIENMRUFOVVBfaGV4ZWRpdAojdW5kZWYgRk9SX2hleGVkaXQKI3VuZGVmIEZMQUdfcgojZW5kaWYKCi8vIGhvc3QgICA8MT4yYXZ0OgojdW5kZWYgT1BUU1RSX2hvc3QKI2RlZmluZSBPUFRTVFJfaG9zdCAiPDE+MmF2dDoiCiNpZmRlZiBDTEVBTlVQX2hvc3QKI3VuZGVmIENMRUFOVVBfaG9zdAojdW5kZWYgRk9SX2hvc3QKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR192CiN1bmRlZiBGTEFHX2EKI2VuZGlmCgovLyBob3N0aWQgICA+MAojdW5kZWYgT1BUU1RSX2hvc3RpZAojZGVmaW5lIE9QVFNUUl9ob3N0aWQgIj4wIgojaWZkZWYgQ0xFQU5VUF9ob3N0aWQKI3VuZGVmIENMRUFOVVBfaG9zdGlkCiN1bmRlZiBGT1JfaG9zdGlkCiNlbmRpZgoKLy8gaG9zdG5hbWUgPjFiZHNmRjpbIWJkc2ZdID4xYmRzZkY6WyFiZHNmXQojdW5kZWYgT1BUU1RSX2hvc3RuYW1lCiNkZWZpbmUgT1BUU1RSX2hvc3RuYW1lICI+MWJkc2ZGOlshYmRzZl0iCiNpZmRlZiBDTEVBTlVQX2hvc3RuYW1lCiN1bmRlZiBDTEVBTlVQX2hvc3RuYW1lCiN1bmRlZiBGT1JfaG9zdG5hbWUKI3VuZGVmIEZMQUdfRgojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19iCiNlbmRpZgoKLy8gaHR0cGQgICA+MXYKI3VuZGVmIE9QVFNUUl9odHRwZAojZGVmaW5lIE9QVFNUUl9odHRwZCAiPjF2IgojaWZkZWYgQ0xFQU5VUF9odHRwZAojdW5kZWYgQ0xFQU5VUF9odHRwZAojdW5kZWYgRk9SX2h0dHBkCiN1bmRlZiBGTEFHX3YKI2VuZGlmCgovLyBod2Nsb2NrICAgPjAoZmFzdClmKHJ0Yyk6dSh1dGMpbChsb2NhbHRpbWUpdChzeXN0eilzKGhjdG9zeXMpcihzaG93KXcoc3lzdG9oYylbLXVsXVshcnRzd10KI3VuZGVmIE9QVFNUUl9od2Nsb2NrCiNkZWZpbmUgT1BUU1RSX2h3Y2xvY2sgIj4wKGZhc3QpZihydGMpOnUodXRjKWwobG9jYWx0aW1lKXQoc3lzdHopcyhoY3Rvc3lzKXIoc2hvdyl3KHN5c3RvaGMpWy11bF1bIXJ0c3ddIgojaWZkZWYgQ0xFQU5VUF9od2Nsb2NrCiN1bmRlZiBDTEVBTlVQX2h3Y2xvY2sKI3VuZGVmIEZPUl9od2Nsb2NrCiN1bmRlZiBGTEFHX3cKI3VuZGVmIEZMQUdfcgojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfZmFzdAojZW5kaWYKCi8vIGkyY2RldGVjdCAgID4zYUYjPDA+NjNscXJ5WyFxcl1bIUZsXQojdW5kZWYgT1BUU1RSX2kyY2RldGVjdAojZGVmaW5lIE9QVFNUUl9pMmNkZXRlY3QgIj4zYUYjPDA+NjNscXJ5WyFxcl1bIUZsXSIKI2lmZGVmIENMRUFOVVBfaTJjZGV0ZWN0CiN1bmRlZiBDTEVBTlVQX2kyY2RldGVjdAojdW5kZWYgRk9SX2kyY2RldGVjdAojdW5kZWYgRkxBR195CiN1bmRlZiBGTEFHX3IKI3VuZGVmIEZMQUdfcQojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX0YKI3VuZGVmIEZMQUdfYQojZW5kaWYKCi8vIGkyY2R1bXAgICA8Mj4yZnkKI3VuZGVmIE9QVFNUUl9pMmNkdW1wCiNkZWZpbmUgT1BUU1RSX2kyY2R1bXAgIjwyPjJmeSIKI2lmZGVmIENMRUFOVVBfaTJjZHVtcAojdW5kZWYgQ0xFQU5VUF9pMmNkdW1wCiN1bmRlZiBGT1JfaTJjZHVtcAojdW5kZWYgRkxBR195CiN1bmRlZiBGTEFHX2YKI2VuZGlmCgovLyBpMmNnZXQgICA8Mj4zZnkKI3VuZGVmIE9QVFNUUl9pMmNnZXQKI2RlZmluZSBPUFRTVFJfaTJjZ2V0ICI8Mj4zZnkiCiNpZmRlZiBDTEVBTlVQX2kyY2dldAojdW5kZWYgQ0xFQU5VUF9pMmNnZXQKI3VuZGVmIEZPUl9pMmNnZXQKI3VuZGVmIEZMQUdfeQojdW5kZWYgRkxBR19mCiNlbmRpZgoKLy8gaTJjc2V0ICAgPDRmeQojdW5kZWYgT1BUU1RSX2kyY3NldAojZGVmaW5lIE9QVFNUUl9pMmNzZXQgIjw0ZnkiCiNpZmRlZiBDTEVBTlVQX2kyY3NldAojdW5kZWYgQ0xFQU5VUF9pMmNzZXQKI3VuZGVmIEZPUl9pMmNzZXQKI3VuZGVmIEZMQUdfeQojdW5kZWYgRkxBR19mCiNlbmRpZgoKLy8gaTJjdHJhbnNmZXIgICA8MnZmeQojdW5kZWYgT1BUU1RSX2kyY3RyYW5zZmVyCiNkZWZpbmUgT1BUU1RSX2kyY3RyYW5zZmVyICI8MnZmeSIKI2lmZGVmIENMRUFOVVBfaTJjdHJhbnNmZXIKI3VuZGVmIENMRUFOVVBfaTJjdHJhbnNmZXIKI3VuZGVmIEZPUl9pMmN0cmFuc2ZlcgojdW5kZWYgRkxBR195CiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfdgojZW5kaWYKCi8vIGljb252ICAgY3N0OmY6CiN1bmRlZiBPUFRTVFJfaWNvbnYKI2RlZmluZSBPUFRTVFJfaWNvbnYgImNzdDpmOiIKI2lmZGVmIENMRUFOVVBfaWNvbnYKI3VuZGVmIENMRUFOVVBfaWNvbnYKI3VuZGVmIEZPUl9pY29udgojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19jCiNlbmRpZgoKLy8gaWQgPjFuR2dydVshR2d1XSA+MVpuR2dydVshWkdndV0KI3VuZGVmIE9QVFNUUl9pZAojZGVmaW5lIE9QVFNUUl9pZCAiPjEBbkdncnVbIQFHZ3VdIgojaWZkZWYgQ0xFQU5VUF9pZAojdW5kZWYgQ0xFQU5VUF9pZAojdW5kZWYgRk9SX2lkCiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfcgojdW5kZWYgRkxBR19nCiN1bmRlZiBGTEFHX0cKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19aCiNlbmRpZgoKLy8gaWZjb25maWcgICBeP2FTCiN1bmRlZiBPUFRTVFJfaWZjb25maWcKI2RlZmluZSBPUFRTVFJfaWZjb25maWcgIl4/YVMiCiNpZmRlZiBDTEVBTlVQX2lmY29uZmlnCiN1bmRlZiBDTEVBTlVQX2lmY29uZmlnCiN1bmRlZiBGT1JfaWZjb25maWcKI3VuZGVmIEZMQUdfUwojdW5kZWYgRkxBR19hCiNlbmRpZgoKLy8gaW5pdCAgICAKI3VuZGVmIE9QVFNUUl9pbml0CiNkZWZpbmUgT1BUU1RSX2luaXQgMAojaWZkZWYgQ0xFQU5VUF9pbml0CiN1bmRlZiBDTEVBTlVQX2luaXQKI3VuZGVmIEZPUl9pbml0CiNlbmRpZgoKLy8gaW5vdGlmeWQgICA8MgojdW5kZWYgT1BUU1RSX2lub3RpZnlkCiNkZWZpbmUgT1BUU1RSX2lub3RpZnlkICI8MiIKI2lmZGVmIENMRUFOVVBfaW5vdGlmeWQKI3VuZGVmIENMRUFOVVBfaW5vdGlmeWQKI3VuZGVmIEZPUl9pbm90aWZ5ZAojZW5kaWYKCi8vIGluc21vZCAgIDwxCiN1bmRlZiBPUFRTVFJfaW5zbW9kCiNkZWZpbmUgT1BUU1RSX2luc21vZCAiPDEiCiNpZmRlZiBDTEVBTlVQX2luc21vZAojdW5kZWYgQ0xFQU5VUF9pbnNtb2QKI3VuZGVmIEZPUl9pbnNtb2QKI2VuZGlmCgovLyBpbnN0YWxsIDwxY2REcChwcmVzZXJ2ZS10aW1lc3RhbXBzKXN2dDptOm86ZzogPDFjZERwKHByZXNlcnZlLXRpbWVzdGFtcHMpc3Z0Om06bzpnOgojdW5kZWYgT1BUU1RSX2luc3RhbGwKI2RlZmluZSBPUFRTVFJfaW5zdGFsbCAiPDFjZERwKHByZXNlcnZlLXRpbWVzdGFtcHMpc3Z0Om06bzpnOiIKI2lmZGVmIENMRUFOVVBfaW5zdGFsbAojdW5kZWYgQ0xFQU5VUF9pbnN0YWxsCiN1bmRlZiBGT1JfaW5zdGFsbAojdW5kZWYgRkxBR19nCiN1bmRlZiBGTEFHX28KI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19wCiN1bmRlZiBGTEFHX0QKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19jCiNlbmRpZgoKLy8gaW9uaWNlICAgXnRjIzwwPjM9Mm4jPDA+Nz01cCMKI3VuZGVmIE9QVFNUUl9pb25pY2UKI2RlZmluZSBPUFRTVFJfaW9uaWNlICJedGMjPDA+Mz0ybiM8MD43PTVwIyIKI2lmZGVmIENMRUFOVVBfaW9uaWNlCiN1bmRlZiBDTEVBTlVQX2lvbmljZQojdW5kZWYgRk9SX2lvbmljZQojdW5kZWYgRkxBR19wCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR190CiNlbmRpZgoKLy8gaW9yZW5pY2UgICA8MT4zCiN1bmRlZiBPUFRTVFJfaW9yZW5pY2UKI2RlZmluZSBPUFRTVFJfaW9yZW5pY2UgIjwxPjMiCiNpZmRlZiBDTEVBTlVQX2lvcmVuaWNlCiN1bmRlZiBDTEVBTlVQX2lvcmVuaWNlCiN1bmRlZiBGT1JfaW9yZW5pY2UKI2VuZGlmCgovLyBpb3RvcCAgID4wQWFLT0hrKm8qcCp1KnMjPDE9N2QlPDEwMD0zMDAwbSNuIzwxYnEKI3VuZGVmIE9QVFNUUl9pb3RvcAojZGVmaW5lIE9QVFNUUl9pb3RvcCAiPjBBYUtPSGsqbypwKnUqcyM8MT03ZCU8MTAwPTMwMDBtI24jPDFicSIKI2lmZGVmIENMRUFOVVBfaW90b3AKI3VuZGVmIENMRUFOVVBfaW90b3AKI3VuZGVmIEZPUl9pb3RvcAojdW5kZWYgRkxBR19xCiN1bmRlZiBGTEFHX2IKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19tCiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfbwojdW5kZWYgRkxBR19rCiN1bmRlZiBGTEFHX0gKI3VuZGVmIEZMQUdfTwojdW5kZWYgRkxBR19LCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfQQojZW5kaWYKCi8vIGlwICAgIAojdW5kZWYgT1BUU1RSX2lwCiNkZWZpbmUgT1BUU1RSX2lwIDAKI2lmZGVmIENMRUFOVVBfaXAKI3VuZGVmIENMRUFOVVBfaXAKI3VuZGVmIEZPUl9pcAojZW5kaWYKCi8vIGlwY3JtICAgbSpNKnMqUypxKlEqCiN1bmRlZiBPUFRTVFJfaXBjcm0KI2RlZmluZSBPUFRTVFJfaXBjcm0gIm0qTSpzKlMqcSpRKiIKI2lmZGVmIENMRUFOVVBfaXBjcm0KI3VuZGVmIENMRUFOVVBfaXBjcm0KI3VuZGVmIEZPUl9pcGNybQojdW5kZWYgRkxBR19RCiN1bmRlZiBGTEFHX3EKI3VuZGVmIEZMQUdfUwojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX00KI3VuZGVmIEZMQUdfbQojZW5kaWYKCi8vIGlwY3MgICBhY3B0dWxzcW1pIwojdW5kZWYgT1BUU1RSX2lwY3MKI2RlZmluZSBPUFRTVFJfaXBjcyAiYWNwdHVsc3FtaSMiCiNpZmRlZiBDTEVBTlVQX2lwY3MKI3VuZGVmIENMRUFOVVBfaXBjcwojdW5kZWYgRk9SX2lwY3MKI3VuZGVmIEZMQUdfaQojdW5kZWYgRkxBR19tCiN1bmRlZiBGTEFHX3EKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR19wCiN1bmRlZiBGTEFHX2MKI3VuZGVmIEZMQUdfYQojZW5kaWYKCi8vIGpvYnMgICBsbnBycwojdW5kZWYgT1BUU1RSX2pvYnMKI2RlZmluZSBPUFRTVFJfam9icyAibG5wcnMiCiNpZmRlZiBDTEVBTlVQX2pvYnMKI3VuZGVmIENMRUFOVVBfam9icwojdW5kZWYgRk9SX2pvYnMKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19sCiNlbmRpZgoKLy8ga2lsbCAgID9sczogCiN1bmRlZiBPUFRTVFJfa2lsbAojZGVmaW5lIE9QVFNUUl9raWxsICI/bHM6ICIKI2lmZGVmIENMRUFOVVBfa2lsbAojdW5kZWYgQ0xFQU5VUF9raWxsCiN1bmRlZiBGT1Jfa2lsbAojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX2wKI2VuZGlmCgovLyBraWxsYWxsICAgP3M6aWxxdncKI3VuZGVmIE9QVFNUUl9raWxsYWxsCiNkZWZpbmUgT1BUU1RSX2tpbGxhbGwgIj9zOmlscXZ3IgojaWZkZWYgQ0xFQU5VUF9raWxsYWxsCiN1bmRlZiBDTEVBTlVQX2tpbGxhbGwKI3VuZGVmIEZPUl9raWxsYWxsCiN1bmRlZiBGTEFHX3cKI3VuZGVmIEZMQUdfdgojdW5kZWYgRkxBR19xCiN1bmRlZiBGTEFHX2wKI3VuZGVmIEZMQUdfaQojdW5kZWYgRkxBR19zCiNlbmRpZgoKLy8ga2lsbGFsbDUgICA/bypsczogWyFsb11bIWxzXQojdW5kZWYgT1BUU1RSX2tpbGxhbGw1CiNkZWZpbmUgT1BUU1RSX2tpbGxhbGw1ICI/bypsczogWyFsb11bIWxzXSIKI2lmZGVmIENMRUFOVVBfa2lsbGFsbDUKI3VuZGVmIENMRUFOVVBfa2lsbGFsbDUKI3VuZGVmIEZPUl9raWxsYWxsNQojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX2wKI3VuZGVmIEZMQUdfbwojZW5kaWYKCi8vIGtsb2dkICAgYyM8MT44bgojdW5kZWYgT1BUU1RSX2tsb2dkCiNkZWZpbmUgT1BUU1RSX2tsb2dkICJjIzwxPjhuIgojaWZkZWYgQ0xFQU5VUF9rbG9nZAojdW5kZWYgQ0xFQU5VUF9rbG9nZAojdW5kZWYgRk9SX2tsb2dkCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfYwojZW5kaWYKCi8vIGxhc3QgICBmOlcKI3VuZGVmIE9QVFNUUl9sYXN0CiNkZWZpbmUgT1BUU1RSX2xhc3QgImY6VyIKI2lmZGVmIENMRUFOVVBfbGFzdAojdW5kZWYgQ0xFQU5VUF9sYXN0CiN1bmRlZiBGT1JfbGFzdAojdW5kZWYgRkxBR19XCiN1bmRlZiBGTEFHX2YKI2VuZGlmCgovLyBsaW5rICAgPDI+MgojdW5kZWYgT1BUU1RSX2xpbmsKI2RlZmluZSBPUFRTVFJfbGluayAiPDI+MiIKI2lmZGVmIENMRUFOVVBfbGluawojdW5kZWYgQ0xFQU5VUF9saW5rCiN1bmRlZiBGT1JfbGluawojZW5kaWYKCi8vIGxpbnV4MzIgICAgCiN1bmRlZiBPUFRTVFJfbGludXgzMgojZGVmaW5lIE9QVFNUUl9saW51eDMyIDAKI2lmZGVmIENMRUFOVVBfbGludXgzMgojdW5kZWYgQ0xFQU5VUF9saW51eDMyCiN1bmRlZiBGT1JfbGludXgzMgojZW5kaWYKCi8vIGxuIDwxcnQ6VHZuZnMgPDFydDpUdm5mcwojdW5kZWYgT1BUU1RSX2xuCiNkZWZpbmUgT1BUU1RSX2xuICI8MXJ0OlR2bmZzIgojaWZkZWYgQ0xFQU5VUF9sbgojdW5kZWYgQ0xFQU5VUF9sbgojdW5kZWYgRk9SX2xuCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfVAojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX3IKI2VuZGlmCgovLyBsb2FkX3BvbGljeSAgIDwxPjEKI3VuZGVmIE9QVFNUUl9sb2FkX3BvbGljeQojZGVmaW5lIE9QVFNUUl9sb2FkX3BvbGljeSAiPDE+MSIKI2lmZGVmIENMRUFOVVBfbG9hZF9wb2xpY3kKI3VuZGVmIENMRUFOVVBfbG9hZF9wb2xpY3kKI3VuZGVmIEZPUl9sb2FkX3BvbGljeQojZW5kaWYKCi8vIGxvY2FsICAgIAojdW5kZWYgT1BUU1RSX2xvY2FsCiNkZWZpbmUgT1BUU1RSX2xvY2FsIDAKI2lmZGVmIENMRUFOVVBfbG9jYWwKI3VuZGVmIENMRUFOVVBfbG9jYWwKI3VuZGVmIEZPUl9sb2NhbAojZW5kaWYKCi8vIGxvZyAgIHA6dDoKI3VuZGVmIE9QVFNUUl9sb2cKI2RlZmluZSBPUFRTVFJfbG9nICJwOnQ6IgojaWZkZWYgQ0xFQU5VUF9sb2cKI3VuZGVmIENMRUFOVVBfbG9nCiN1bmRlZiBGT1JfbG9nCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfcAojZW5kaWYKCi8vIGxvZ2dlciAgIHQ6cDpzCiN1bmRlZiBPUFRTVFJfbG9nZ2VyCiNkZWZpbmUgT1BUU1RSX2xvZ2dlciAidDpwOnMiCiNpZmRlZiBDTEVBTlVQX2xvZ2dlcgojdW5kZWYgQ0xFQU5VUF9sb2dnZXIKI3VuZGVmIEZPUl9sb2dnZXIKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19wCiN1bmRlZiBGTEFHX3QKI2VuZGlmCgovLyBsb2dpbiAgID4xZjpwaDoKI3VuZGVmIE9QVFNUUl9sb2dpbgojZGVmaW5lIE9QVFNUUl9sb2dpbiAiPjFmOnBoOiIKI2lmZGVmIENMRUFOVVBfbG9naW4KI3VuZGVmIENMRUFOVVBfbG9naW4KI3VuZGVmIEZPUl9sb2dpbgojdW5kZWYgRkxBR19oCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfZgojZW5kaWYKCi8vIGxvZ25hbWUgICA+MAojdW5kZWYgT1BUU1RSX2xvZ25hbWUKI2RlZmluZSBPUFRTVFJfbG9nbmFtZSAiPjAiCiNpZmRlZiBDTEVBTlVQX2xvZ25hbWUKI3VuZGVmIENMRUFOVVBfbG9nbmFtZQojdW5kZWYgRk9SX2xvZ25hbWUKI2VuZGlmCgovLyBsb2dwYXRoICAgIAojdW5kZWYgT1BUU1RSX2xvZ3BhdGgKI2RlZmluZSBPUFRTVFJfbG9ncGF0aCAwCiNpZmRlZiBDTEVBTlVQX2xvZ3BhdGgKI3VuZGVmIENMRUFOVVBfbG9ncGF0aAojdW5kZWYgRk9SX2xvZ3BhdGgKI2VuZGlmCgovLyBsb3NldHVwICAgPjJTKHNpemVsaW1pdCkjcyhzaG93KXJvI2o6ZmRjYURbIWFmal0KI3VuZGVmIE9QVFNUUl9sb3NldHVwCiNkZWZpbmUgT1BUU1RSX2xvc2V0dXAgIj4yUyhzaXplbGltaXQpI3Moc2hvdylybyNqOmZkY2FEWyFhZmpdIgojaWZkZWYgQ0xFQU5VUF9sb3NldHVwCiN1bmRlZiBDTEVBTlVQX2xvc2V0dXAKI3VuZGVmIEZPUl9sb3NldHVwCiN1bmRlZiBGTEFHX0QKI3VuZGVmIEZMQUdfYQojdW5kZWYgRkxBR19jCiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19qCiN1bmRlZiBGTEFHX28KI3VuZGVmIEZMQUdfcgojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX1MKI2VuZGlmCgovLyBscyAoc29ydCk6KGNvbG9yKTo7KGZ1bGwtdGltZSkoc2hvdy1jb250cm9sLWNoYXJzKf8oYmxvY2stc2l6ZSkjPTEwMjQ8MaEoZ3JvdXAtZGlyZWN0b3JpZXMtZmlyc3Qp/lpnb0FDRkhMTlJTVVhhYmNkZmhpa2xAbW5wcXJzdHV3Iz04MDwweDFbLUN4bTFdWy1DeG1sXVstQ3htb11bLUN4bWddWy1jdV1bLWZ0U11bLUhMXVstTnFiXVsta/9dIChzb3J0KTooY29sb3IpOjsoZnVsbC10aW1lKShzaG93LWNvbnRyb2wtY2hhcnMp/yhibG9jay1zaXplKSM9MTAyNDwxoShncm91cC1kaXJlY3Rvcmllcy1maXJzdCn+WmdvQUNGSExOUlNVWGFiY2RmaGlrbEBtbnBxcnN0dXcjPTgwPDB4MVstQ3htMV1bLUN4bWxdWy1DeG1vXVstQ3htZ11bLWN1XVstZnRTXVstSExdWy1OcWJdWy1r/10KI3VuZGVmIE9QVFNUUl9scwojZGVmaW5lIE9QVFNUUl9scyAiKHNvcnQpOihjb2xvcik6OyhmdWxsLXRpbWUpKHNob3ctY29udHJvbC1jaGFycyn/KGJsb2NrLXNpemUpIz0xMDI0PDGhKGdyb3VwLWRpcmVjdG9yaWVzLWZpcnN0Kf5aZ29BQ0ZITE5SU1VYYWJjZGZoaWtsQG1ucHFyc3R1dyM9ODA8MHgxWy1DeG0xXVstQ3htbF1bLUN4bW9dWy1DeG1nXVstY3VdWy1mdFNdWy1ITF1bLU5xYl1bLWv/XSIKI2lmZGVmIENMRUFOVVBfbHMKI3VuZGVmIENMRUFOVVBfbHMKI3VuZGVmIEZPUl9scwojdW5kZWYgRkxBR18xCiN1bmRlZiBGTEFHX3gKI3VuZGVmIEZMQUdfdwojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX3EKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX20KI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR19rCiN1bmRlZiBGTEFHX2kKI3VuZGVmIEZMQUdfaAojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19iCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfWAojdW5kZWYgRkxBR19VCiN1bmRlZiBGTEFHX1MKI3VuZGVmIEZMQUdfUgojdW5kZWYgRkxBR19OCiN1bmRlZiBGTEFHX0wKI3VuZGVmIEZMQUdfSAojdW5kZWYgRkxBR19GCiN1bmRlZiBGTEFHX0MKI3VuZGVmIEZMQUdfQQojdW5kZWYgRkxBR19vCiN1bmRlZiBGTEFHX2cKI3VuZGVmIEZMQUdfWgojdW5kZWYgRkxBR19YN0UKI3VuZGVmIEZMQUdfWDIxCiN1bmRlZiBGTEFHX1g3RgojdW5kZWYgRkxBR19zaG93X2NvbnRyb2xfY2hhcnMKI3VuZGVmIEZMQUdfZnVsbF90aW1lCiN1bmRlZiBGTEFHX2NvbG9yCiN1bmRlZiBGTEFHX3NvcnQKI2VuZGlmCgovLyBsc2F0dHIgICBsZGFwdlIKI3VuZGVmIE9QVFNUUl9sc2F0dHIKI2RlZmluZSBPUFRTVFJfbHNhdHRyICJsZGFwdlIiCiNpZmRlZiBDTEVBTlVQX2xzYXR0cgojdW5kZWYgQ0xFQU5VUF9sc2F0dHIKI3VuZGVmIEZPUl9sc2F0dHIKI3VuZGVmIEZMQUdfUgojdW5kZWYgRkxBR192CiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfYQojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX2wKI2VuZGlmCgovLyBsc21vZCAgICAKI3VuZGVmIE9QVFNUUl9sc21vZAojZGVmaW5lIE9QVFNUUl9sc21vZCAwCiNpZmRlZiBDTEVBTlVQX2xzbW9kCiN1bmRlZiBDTEVBTlVQX2xzbW9kCiN1bmRlZiBGT1JfbHNtb2QKI2VuZGlmCgovLyBsc29mICAgbHAqdAojdW5kZWYgT1BUU1RSX2xzb2YKI2RlZmluZSBPUFRTVFJfbHNvZiAibHAqdCIKI2lmZGVmIENMRUFOVVBfbHNvZgojdW5kZWYgQ0xFQU5VUF9sc29mCiN1bmRlZiBGT1JfbHNvZgojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfbAojZW5kaWYKCi8vIGxzcGNpICAgZW1rbkB4QGk6CiN1bmRlZiBPUFRTVFJfbHNwY2kKI2RlZmluZSBPUFRTVFJfbHNwY2kgImVta25AeEBpOiIKI2lmZGVmIENMRUFOVVBfbHNwY2kKI3VuZGVmIENMRUFOVVBfbHNwY2kKI3VuZGVmIEZPUl9sc3BjaQojdW5kZWYgRkxBR19pCiN1bmRlZiBGTEFHX3gKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19rCiN1bmRlZiBGTEFHX20KI3VuZGVmIEZMQUdfZQojZW5kaWYKCi8vIGxzdXNiICAgaToKI3VuZGVmIE9QVFNUUl9sc3VzYgojZGVmaW5lIE9QVFNUUl9sc3VzYiAiaToiCiNpZmRlZiBDTEVBTlVQX2xzdXNiCiN1bmRlZiBDTEVBTlVQX2xzdXNiCiN1bmRlZiBGT1JfbHN1c2IKI3VuZGVmIEZMQUdfaQojZW5kaWYKCi8vIG1ha2VkZXZzICAgPDE+MWQ6CiN1bmRlZiBPUFRTVFJfbWFrZWRldnMKI2RlZmluZSBPUFRTVFJfbWFrZWRldnMgIjwxPjFkOiIKI2lmZGVmIENMRUFOVVBfbWFrZWRldnMKI3VuZGVmIENMRUFOVVBfbWFrZWRldnMKI3VuZGVmIEZPUl9tYWtlZGV2cwojdW5kZWYgRkxBR19kCiNlbmRpZgoKLy8gbWFuICAgazpNOgojdW5kZWYgT1BUU1RSX21hbgojZGVmaW5lIE9QVFNUUl9tYW4gIms6TToiCiNpZmRlZiBDTEVBTlVQX21hbgojdW5kZWYgQ0xFQU5VUF9tYW4KI3VuZGVmIEZPUl9tYW4KI3VuZGVmIEZMQUdfTQojdW5kZWYgRkxBR19rCiNlbmRpZgoKLy8gbWNvb2tpZSAgIHYodmVyYm9zZSlWKHZlcnNpb24pCiN1bmRlZiBPUFRTVFJfbWNvb2tpZQojZGVmaW5lIE9QVFNUUl9tY29va2llICJ2KHZlcmJvc2UpVih2ZXJzaW9uKSIKI2lmZGVmIENMRUFOVVBfbWNvb2tpZQojdW5kZWYgQ0xFQU5VUF9tY29va2llCiN1bmRlZiBGT1JfbWNvb2tpZQojdW5kZWYgRkxBR19WCiN1bmRlZiBGTEFHX3YKI2VuZGlmCgovLyBtZDVzdW0gYmMoY2hlY2spcyhzdGF0dXMpWyFiY10gYmMoY2hlY2spcyhzdGF0dXMpWyFiY10KI3VuZGVmIE9QVFNUUl9tZDVzdW0KI2RlZmluZSBPUFRTVFJfbWQ1c3VtICJiYyhjaGVjaylzKHN0YXR1cylbIWJjXSIKI2lmZGVmIENMRUFOVVBfbWQ1c3VtCiN1bmRlZiBDTEVBTlVQX21kNXN1bQojdW5kZWYgRk9SX21kNXN1bQojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX2MKI3VuZGVmIEZMQUdfYgojZW5kaWYKCi8vIG1kZXYgICBzCiN1bmRlZiBPUFRTVFJfbWRldgojZGVmaW5lIE9QVFNUUl9tZGV2ICJzIgojaWZkZWYgQ0xFQU5VUF9tZGV2CiN1bmRlZiBDTEVBTlVQX21kZXYKI3VuZGVmIEZPUl9tZGV2CiN1bmRlZiBGTEFHX3MKI2VuZGlmCgovLyBtZW1lYXRlciAgIDwxPjFNCiN1bmRlZiBPUFRTVFJfbWVtZWF0ZXIKI2RlZmluZSBPUFRTVFJfbWVtZWF0ZXIgIjwxPjFNIgojaWZkZWYgQ0xFQU5VUF9tZW1lYXRlcgojdW5kZWYgQ0xFQU5VUF9tZW1lYXRlcgojdW5kZWYgRk9SX21lbWVhdGVyCiN1bmRlZiBGTEFHX00KI2VuZGlmCgovLyBtaWNyb2NvbSA8MT4xcyM9MTE1MjAwWCA8MT4xcyM9MTE1MjAwWAojdW5kZWYgT1BUU1RSX21pY3JvY29tCiNkZWZpbmUgT1BUU1RSX21pY3JvY29tICI8MT4xcyM9MTE1MjAwWCIKI2lmZGVmIENMRUFOVVBfbWljcm9jb20KI3VuZGVmIENMRUFOVVBfbWljcm9jb20KI3VuZGVmIEZPUl9taWNyb2NvbQojdW5kZWYgRkxBR19YCiN1bmRlZiBGTEFHX3MKI2VuZGlmCgovLyBtaXggICBjOmQ6bCNyIwojdW5kZWYgT1BUU1RSX21peAojZGVmaW5lIE9QVFNUUl9taXggImM6ZDpsI3IjIgojaWZkZWYgQ0xFQU5VUF9taXgKI3VuZGVmIENMRUFOVVBfbWl4CiN1bmRlZiBGT1JfbWl4CiN1bmRlZiBGTEFHX3IKI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX2MKI2VuZGlmCgovLyBta2RpciA8MXZwKHBhcmVudCkocGFyZW50cyltOiA8MVo6dnAocGFyZW50KShwYXJlbnRzKW06CiN1bmRlZiBPUFRTVFJfbWtkaXIKI2RlZmluZSBPUFRTVFJfbWtkaXIgIjwxAXZwKHBhcmVudCkocGFyZW50cyltOiIKI2lmZGVmIENMRUFOVVBfbWtkaXIKI3VuZGVmIENMRUFOVVBfbWtkaXIKI3VuZGVmIEZPUl9ta2RpcgojdW5kZWYgRkxBR19tCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfdgojdW5kZWYgRkxBR19aCiNlbmRpZgoKLy8gbWtlMmZzICAgPDE+Mmc6Rm5xbSNOI2kjYiMKI3VuZGVmIE9QVFNUUl9ta2UyZnMKI2RlZmluZSBPUFRTVFJfbWtlMmZzICI8MT4yZzpGbnFtI04jaSNiIyIKI2lmZGVmIENMRUFOVVBfbWtlMmZzCiN1bmRlZiBDTEVBTlVQX21rZTJmcwojdW5kZWYgRk9SX21rZTJmcwojdW5kZWYgRkxBR19iCiN1bmRlZiBGTEFHX2kKI3VuZGVmIEZMQUdfTgojdW5kZWYgRkxBR19tCiN1bmRlZiBGTEFHX3EKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19GCiN1bmRlZiBGTEFHX2cKI2VuZGlmCgovLyBta2ZpZm8gICA8MVo6bToKI3VuZGVmIE9QVFNUUl9ta2ZpZm8KI2RlZmluZSBPUFRTVFJfbWtmaWZvICI8MVo6bToiCiNpZmRlZiBDTEVBTlVQX21rZmlmbwojdW5kZWYgQ0xFQU5VUF9ta2ZpZm8KI3VuZGVmIEZPUl9ta2ZpZm8KI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR19aCiNlbmRpZgoKLy8gbWtub2QgICA8Mj40bShtb2RlKTpaOgojdW5kZWYgT1BUU1RSX21rbm9kCiNkZWZpbmUgT1BUU1RSX21rbm9kICI8Mj40bShtb2RlKTpaOiIKI2lmZGVmIENMRUFOVVBfbWtub2QKI3VuZGVmIENMRUFOVVBfbWtub2QKI3VuZGVmIEZPUl9ta25vZAojdW5kZWYgRkxBR19aCiN1bmRlZiBGTEFHX20KI2VuZGlmCgovLyBta3Bhc3N3ZCAgID4yUzptOlAjPTA8MAojdW5kZWYgT1BUU1RSX21rcGFzc3dkCiNkZWZpbmUgT1BUU1RSX21rcGFzc3dkICI+MlM6bTpQIz0wPDAiCiNpZmRlZiBDTEVBTlVQX21rcGFzc3dkCiN1bmRlZiBDTEVBTlVQX21rcGFzc3dkCiN1bmRlZiBGT1JfbWtwYXNzd2QKI3VuZGVmIEZMQUdfUAojdW5kZWYgRkxBR19tCiN1bmRlZiBGTEFHX1MKI2VuZGlmCgovLyBta3N3YXAgICA8MT4xTDoKI3VuZGVmIE9QVFNUUl9ta3N3YXAKI2RlZmluZSBPUFRTVFJfbWtzd2FwICI8MT4xTDoiCiNpZmRlZiBDTEVBTlVQX21rc3dhcAojdW5kZWYgQ0xFQU5VUF9ta3N3YXAKI3VuZGVmIEZPUl9ta3N3YXAKI3VuZGVmIEZMQUdfTAojZW5kaWYKCi8vIG1rdGVtcCA+MSh0bXBkaXIpOzp1cWQoZGlyZWN0b3J5KXA6dCA+MSh0bXBkaXIpOzp1cWQoZGlyZWN0b3J5KXA6dAojdW5kZWYgT1BUU1RSX21rdGVtcAojZGVmaW5lIE9QVFNUUl9ta3RlbXAgIj4xKHRtcGRpcik7OnVxZChkaXJlY3RvcnkpcDp0IgojaWZkZWYgQ0xFQU5VUF9ta3RlbXAKI3VuZGVmIENMRUFOVVBfbWt0ZW1wCiN1bmRlZiBGT1JfbWt0ZW1wCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX3EKI3VuZGVmIEZMQUdfdQojdW5kZWYgRkxBR190bXBkaXIKI2VuZGlmCgovLyBtb2RpbmZvICAgPDFiOms6RjowCiN1bmRlZiBPUFRTVFJfbW9kaW5mbwojZGVmaW5lIE9QVFNUUl9tb2RpbmZvICI8MWI6azpGOjAiCiNpZmRlZiBDTEVBTlVQX21vZGluZm8KI3VuZGVmIENMRUFOVVBfbW9kaW5mbwojdW5kZWYgRk9SX21vZGluZm8KI3VuZGVmIEZMQUdfMAojdW5kZWYgRkxBR19GCiN1bmRlZiBGTEFHX2sKI3VuZGVmIEZMQUdfYgojZW5kaWYKCi8vIG1vZHByb2JlICAgYWxycXZzRGJkKgojdW5kZWYgT1BUU1RSX21vZHByb2JlCiNkZWZpbmUgT1BUU1RSX21vZHByb2JlICJhbHJxdnNEYmQqIgojaWZkZWYgQ0xFQU5VUF9tb2Rwcm9iZQojdW5kZWYgQ0xFQU5VUF9tb2Rwcm9iZQojdW5kZWYgRk9SX21vZHByb2JlCiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfYgojdW5kZWYgRkxBR19ECiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfdgojdW5kZWYgRkxBR19xCiN1bmRlZiBGTEFHX3IKI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR19hCiNlbmRpZgoKLy8gbW9yZSAgICAKI3VuZGVmIE9QVFNUUl9tb3JlCiNkZWZpbmUgT1BUU1RSX21vcmUgMAojaWZkZWYgQ0xFQU5VUF9tb3JlCiN1bmRlZiBDTEVBTlVQX21vcmUKI3VuZGVmIEZPUl9tb3JlCiNlbmRpZgoKLy8gbW91bnQgICA/Uk86YWZucnZ3dDpvKlstcnddCiN1bmRlZiBPUFRTVFJfbW91bnQKI2RlZmluZSBPUFRTVFJfbW91bnQgIj9STzphZm5ydnd0Om8qWy1yd10iCiNpZmRlZiBDTEVBTlVQX21vdW50CiN1bmRlZiBDTEVBTlVQX21vdW50CiN1bmRlZiBGT1JfbW91bnQKI3VuZGVmIEZMQUdfbwojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX3cKI3VuZGVmIEZMQUdfdgojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19hCiN1bmRlZiBGTEFHX08KI3VuZGVmIEZMQUdfUgojZW5kaWYKCi8vIG1vdW50cG9pbnQgICA8MXFkeFstZHhdCiN1bmRlZiBPUFRTVFJfbW91bnRwb2ludAojZGVmaW5lIE9QVFNUUl9tb3VudHBvaW50ICI8MXFkeFstZHhdIgojaWZkZWYgQ0xFQU5VUF9tb3VudHBvaW50CiN1bmRlZiBDTEVBTlVQX21vdW50cG9pbnQKI3VuZGVmIEZPUl9tb3VudHBvaW50CiN1bmRlZiBGTEFHX3gKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19xCiNlbmRpZgoKLy8gbXYgPDF4KHN3YXApdih2ZXJib3NlKW5GKHJlbW92ZS1kZXN0aW5hdGlvbilmaXQ6VFstbmldIDwxeChzd2FwKXYodmVyYm9zZSluRihyZW1vdmUtZGVzdGluYXRpb24pZml0OlRbLW5pXQojdW5kZWYgT1BUU1RSX212CiNkZWZpbmUgT1BUU1RSX212ICI8MXgoc3dhcCl2KHZlcmJvc2UpbkYocmVtb3ZlLWRlc3RpbmF0aW9uKWZpdDpUWy1uaV0iCiNpZmRlZiBDTEVBTlVQX212CiN1bmRlZiBDTEVBTlVQX212CiN1bmRlZiBGT1JfbXYKI3VuZGVmIEZMQUdfVAojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX2kKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19GCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfdgojdW5kZWYgRkxBR194CiNlbmRpZgoKLy8gbmJkX2NsaWVudCAgIDwzPjNiIzwxPjQyOTQ5NjcyOTU9NDA5Nm5zCiN1bmRlZiBPUFRTVFJfbmJkX2NsaWVudAojZGVmaW5lIE9QVFNUUl9uYmRfY2xpZW50ICI8Mz4zYiM8MT40Mjk0OTY3Mjk1PTQwOTZucyIKI2lmZGVmIENMRUFOVVBfbmJkX2NsaWVudAojdW5kZWYgQ0xFQU5VUF9uYmRfY2xpZW50CiN1bmRlZiBGT1JfbmJkX2NsaWVudAojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfYgojZW5kaWYKCi8vIG5iZF9zZXJ2ZXIgICA8MT4xcgojdW5kZWYgT1BUU1RSX25iZF9zZXJ2ZXIKI2RlZmluZSBPUFRTVFJfbmJkX3NlcnZlciAiPDE+MXIiCiNpZmRlZiBDTEVBTlVQX25iZF9zZXJ2ZXIKI3VuZGVmIENMRUFOVVBfbmJkX3NlcnZlcgojdW5kZWYgRk9SX25iZF9zZXJ2ZXIKI3VuZGVmIEZMQUdfcgojZW5kaWYKCi8vIG5ldGNhdCAgIF50RWxMdyM8MVcjPDFwIzwxPjY1NTM1cSM8MXM6Zjo0NnVVbnZ6WyF0bExdWyFMd11bIUx1XVshNDZVXQojdW5kZWYgT1BUU1RSX25ldGNhdAojZGVmaW5lIE9QVFNUUl9uZXRjYXQgIl50RWxMdyM8MVcjPDFwIzwxPjY1NTM1cSM8MXM6Zjo0NnVVbnZ6WyF0bExdWyFMd11bIUx1XVshNDZVXSIKI2lmZGVmIENMRUFOVVBfbmV0Y2F0CiN1bmRlZiBDTEVBTlVQX25ldGNhdAojdW5kZWYgRk9SX25ldGNhdAojdW5kZWYgRkxBR196CiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19VCiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfNgojdW5kZWYgRkxBR180CiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19xCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfVwojdW5kZWYgRkxBR193CiN1bmRlZiBGTEFHX0wKI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR19FCiN1bmRlZiBGTEFHX3QKI2VuZGlmCgovLyBuZXRzdGF0ICAgcFdyeHd1dG5lYWwKI3VuZGVmIE9QVFNUUl9uZXRzdGF0CiNkZWZpbmUgT1BUU1RSX25ldHN0YXQgInBXcnh3dXRuZWFsIgojaWZkZWYgQ0xFQU5VUF9uZXRzdGF0CiN1bmRlZiBDTEVBTlVQX25ldHN0YXQKI3VuZGVmIEZPUl9uZXRzdGF0CiN1bmRlZiBGTEFHX2wKI3VuZGVmIEZMQUdfYQojdW5kZWYgRkxBR19lCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX3cKI3VuZGVmIEZMQUdfeAojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX1cKI3VuZGVmIEZMQUdfcAojZW5kaWYKCi8vIG5pY2UgICBePDFuIwojdW5kZWYgT1BUU1RSX25pY2UKI2RlZmluZSBPUFRTVFJfbmljZSAiXjwxbiMiCiNpZmRlZiBDTEVBTlVQX25pY2UKI3VuZGVmIENMRUFOVVBfbmljZQojdW5kZWYgRk9SX25pY2UKI3VuZGVmIEZMQUdfbgojZW5kaWYKCi8vIG5sIHYjPTFsI3cjPDA9NmI6bjpzOkUgdiM9MWwjdyM8MD02YjpuOnM6RQojdW5kZWYgT1BUU1RSX25sCiNkZWZpbmUgT1BUU1RSX25sICJ2Iz0xbCN3IzwwPTZiOm46czpFIgojaWZkZWYgQ0xFQU5VUF9ubAojdW5kZWYgQ0xFQU5VUF9ubAojdW5kZWYgRk9SX25sCiN1bmRlZiBGTEFHX0UKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX2IKI3VuZGVmIEZMQUdfdwojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX3YKI2VuZGlmCgovLyBub2h1cCAgIDwxXgojdW5kZWYgT1BUU1RSX25vaHVwCiNkZWZpbmUgT1BUU1RSX25vaHVwICI8MV4iCiNpZmRlZiBDTEVBTlVQX25vaHVwCiN1bmRlZiBDTEVBTlVQX25vaHVwCiN1bmRlZiBGT1Jfbm9odXAKI2VuZGlmCgovLyBucHJvYyAgIChhbGwpCiN1bmRlZiBPUFRTVFJfbnByb2MKI2RlZmluZSBPUFRTVFJfbnByb2MgIihhbGwpIgojaWZkZWYgQ0xFQU5VUF9ucHJvYwojdW5kZWYgQ0xFQU5VUF9ucHJvYwojdW5kZWYgRk9SX25wcm9jCiN1bmRlZiBGTEFHX2FsbAojZW5kaWYKCi8vIG5zZW50ZXIgICA8MWEoYWxsKUYobm8tZm9yayl0IzwxKHRhcmdldClDKGNncm91cCk6OyBpKGlwYyk6OyBtKG1vdW50KTo7IG4obmV0KTo7IHAocGlkKTo7IHUodXRzKTo7IFUodXNlcik6OyAKI3VuZGVmIE9QVFNUUl9uc2VudGVyCiNkZWZpbmUgT1BUU1RSX25zZW50ZXIgIjwxYShhbGwpRihuby1mb3JrKXQjPDEodGFyZ2V0KUMoY2dyb3VwKTo7IGkoaXBjKTo7IG0obW91bnQpOjsgbihuZXQpOjsgcChwaWQpOjsgdSh1dHMpOjsgVSh1c2VyKTo7ICIKI2lmZGVmIENMRUFOVVBfbnNlbnRlcgojdW5kZWYgQ0xFQU5VUF9uc2VudGVyCiN1bmRlZiBGT1JfbnNlbnRlcgojdW5kZWYgRkxBR19VCiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX20KI3VuZGVmIEZMQUdfaQojdW5kZWYgRkxBR19DCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfRgojdW5kZWYgRkxBR19hCiNlbmRpZgoKLy8gb2QgaiN2dyM8MT0xNk4jeHNvZGNiQTp0KiBqI3Z3IzwxPTE2TiN4c29kY2JBOnQqCiN1bmRlZiBPUFRTVFJfb2QKI2RlZmluZSBPUFRTVFJfb2QgImojdncjPDE9MTZOI3hzb2RjYkE6dCoiCiNpZmRlZiBDTEVBTlVQX29kCiN1bmRlZiBDTEVBTlVQX29kCiN1bmRlZiBGT1Jfb2QKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR19BCiN1bmRlZiBGTEFHX2IKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX28KI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR194CiN1bmRlZiBGTEFHX04KI3VuZGVmIEZMQUdfdwojdW5kZWYgRkxBR192CiN1bmRlZiBGTEFHX2oKI2VuZGlmCgovLyBvbmVpdCAgIF48MW5jOnAzWyFwbl0KI3VuZGVmIE9QVFNUUl9vbmVpdAojZGVmaW5lIE9QVFNUUl9vbmVpdCAiXjwxbmM6cDNbIXBuXSIKI2lmZGVmIENMRUFOVVBfb25laXQKI3VuZGVmIENMRUFOVVBfb25laXQKI3VuZGVmIEZPUl9vbmVpdAojdW5kZWYgRkxBR18zCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19uCiNlbmRpZgoKLy8gb3BlbnZ0ICAgXjwxYyM8MT42M3N3CiN1bmRlZiBPUFRTVFJfb3BlbnZ0CiNkZWZpbmUgT1BUU1RSX29wZW52dCAiXjwxYyM8MT42M3N3IgojaWZkZWYgQ0xFQU5VUF9vcGVudnQKI3VuZGVmIENMRUFOVVBfb3BlbnZ0CiN1bmRlZiBGT1Jfb3BlbnZ0CiN1bmRlZiBGTEFHX3cKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19jCiNlbmRpZgoKLy8gcGFydHByb2JlICAgPDEKI3VuZGVmIE9QVFNUUl9wYXJ0cHJvYmUKI2RlZmluZSBPUFRTVFJfcGFydHByb2JlICI8MSIKI2lmZGVmIENMRUFOVVBfcGFydHByb2JlCiN1bmRlZiBDTEVBTlVQX3BhcnRwcm9iZQojdW5kZWYgRk9SX3BhcnRwcm9iZQojZW5kaWYKCi8vIHBhc3N3ZCAgID4xYTpkbHUKI3VuZGVmIE9QVFNUUl9wYXNzd2QKI2RlZmluZSBPUFRTVFJfcGFzc3dkICI+MWE6ZGx1IgojaWZkZWYgQ0xFQU5VUF9wYXNzd2QKI3VuZGVmIENMRUFOVVBfcGFzc3dkCiN1bmRlZiBGT1JfcGFzc3dkCiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX2EKI2VuZGlmCgovLyBwYXN0ZSBkOnMgZDpzCiN1bmRlZiBPUFRTVFJfcGFzdGUKI2RlZmluZSBPUFRTVFJfcGFzdGUgImQ6cyIKI2lmZGVmIENMRUFOVVBfcGFzdGUKI3VuZGVmIENMRUFOVVBfcGFzdGUKI3VuZGVmIEZPUl9wYXN0ZQojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX2QKI2VuZGlmCgovLyBwYXRjaCA+Mihuby1iYWNrdXAtaWYtbWlzbWF0Y2gpKGRyeS1ydW4pRiNnI2Z1bHAjdih2ZXJib3NlKUBkOmk6UnMocXVpZXQpWyFzdl0gPjIobm8tYmFja3VwLWlmLW1pc21hdGNoKShkcnktcnVuKUYjZyNmdWxwI3YodmVyYm9zZSlAZDppOlJzKHF1aWV0KVshc3ZdCiN1bmRlZiBPUFRTVFJfcGF0Y2gKI2RlZmluZSBPUFRTVFJfcGF0Y2ggIj4yKG5vLWJhY2t1cC1pZi1taXNtYXRjaCkoZHJ5LXJ1bilGI2cjZnVscCN2KHZlcmJvc2UpQGQ6aTpScyhxdWlldClbIXN2XSIKI2lmZGVmIENMRUFOVVBfcGF0Y2gKI3VuZGVmIENMRUFOVVBfcGF0Y2gKI3VuZGVmIEZPUl9wYXRjaAojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX1IKI3VuZGVmIEZMQUdfaQojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19nCiN1bmRlZiBGTEFHX0YKI3VuZGVmIEZMQUdfZHJ5X3J1bgojdW5kZWYgRkxBR19ub19iYWNrdXBfaWZfbWlzbWF0Y2gKI2VuZGlmCgovLyBwZ3JlcCAgID9jbGQ6dSpVKnQqcypQKmcqRypmbm92eEw6Wy1ub10KI3VuZGVmIE9QVFNUUl9wZ3JlcAojZGVmaW5lIE9QVFNUUl9wZ3JlcCAiP2NsZDp1KlUqdCpzKlAqZypHKmZub3Z4TDpbLW5vXSIKI2lmZGVmIENMRUFOVVBfcGdyZXAKI3VuZGVmIENMRUFOVVBfcGdyZXAKI3VuZGVmIEZPUl9wZ3JlcAojdW5kZWYgRkxBR19MCiN1bmRlZiBGTEFHX3gKI3VuZGVmIEZMQUdfdgojdW5kZWYgRkxBR19vCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19HCiN1bmRlZiBGTEFHX2cKI3VuZGVmIEZMQUdfUAojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfVQojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR19jCiNlbmRpZgoKLy8gcGlkb2YgICBzbzp4CiN1bmRlZiBPUFRTVFJfcGlkb2YKI2RlZmluZSBPUFRTVFJfcGlkb2YgInNvOngiCiNpZmRlZiBDTEVBTlVQX3BpZG9mCiN1bmRlZiBDTEVBTlVQX3BpZG9mCiN1bmRlZiBGT1JfcGlkb2YKI3VuZGVmIEZMQUdfeAojdW5kZWYgRkxBR19vCiN1bmRlZiBGTEFHX3MKI2VuZGlmCgovLyBwaW5nICAgPDE+MW0jdCM8MD4yNTU9NjRjIzwwPTNzIzwwPjQwNjQ9NTZpJVcjPDA9M3cjPDBxZjQ2STpbLTQ2XQojdW5kZWYgT1BUU1RSX3BpbmcKI2RlZmluZSBPUFRTVFJfcGluZyAiPDE+MW0jdCM8MD4yNTU9NjRjIzwwPTNzIzwwPjQwNjQ9NTZpJVcjPDA9M3cjPDBxZjQ2STpbLTQ2XSIKI2lmZGVmIENMRUFOVVBfcGluZwojdW5kZWYgQ0xFQU5VUF9waW5nCiN1bmRlZiBGT1JfcGluZwojdW5kZWYgRkxBR19JCiN1bmRlZiBGTEFHXzYKI3VuZGVmIEZMQUdfNAojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX3EKI3VuZGVmIEZMQUdfdwojdW5kZWYgRkxBR19XCiN1bmRlZiBGTEFHX2kKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19jCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfbQojZW5kaWYKCi8vIHBpdm90X3Jvb3QgICA8Mj4yCiN1bmRlZiBPUFRTVFJfcGl2b3Rfcm9vdAojZGVmaW5lIE9QVFNUUl9waXZvdF9yb290ICI8Mj4yIgojaWZkZWYgQ0xFQU5VUF9waXZvdF9yb290CiN1bmRlZiBDTEVBTlVQX3Bpdm90X3Jvb3QKI3VuZGVmIEZPUl9waXZvdF9yb290CiNlbmRpZgoKLy8gcGtpbGwgICA/VnUqVSp0KnMqUCpnKkcqZm5vdnhsOlstbm9dCiN1bmRlZiBPUFRTVFJfcGtpbGwKI2RlZmluZSBPUFRTVFJfcGtpbGwgIj9WdSpVKnQqcypQKmcqRypmbm92eGw6Wy1ub10iCiNpZmRlZiBDTEVBTlVQX3BraWxsCiN1bmRlZiBDTEVBTlVQX3BraWxsCiN1bmRlZiBGT1JfcGtpbGwKI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR194CiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfbwojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfRwojdW5kZWYgRkxBR19nCiN1bmRlZiBGTEFHX1AKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX1UKI3VuZGVmIEZMQUdfdQojdW5kZWYgRkxBR19WCiNlbmRpZgoKLy8gcG1hcCAgIDwxcHF4CiN1bmRlZiBPUFRTVFJfcG1hcAojZGVmaW5lIE9QVFNUUl9wbWFwICI8MXBxeCIKI2lmZGVmIENMRUFOVVBfcG1hcAojdW5kZWYgQ0xFQU5VUF9wbWFwCiN1bmRlZiBGT1JfcG1hcAojdW5kZWYgRkxBR194CiN1bmRlZiBGTEFHX3EKI3VuZGVmIEZMQUdfcAojZW5kaWYKCi8vIHByaW50ZW52ICAgKG51bGwpMAojdW5kZWYgT1BUU1RSX3ByaW50ZW52CiNkZWZpbmUgT1BUU1RSX3ByaW50ZW52ICIobnVsbCkwIgojaWZkZWYgQ0xFQU5VUF9wcmludGVudgojdW5kZWYgQ0xFQU5VUF9wcmludGVudgojdW5kZWYgRk9SX3ByaW50ZW52CiN1bmRlZiBGTEFHXzAKI3VuZGVmIEZMQUdfbnVsbAojZW5kaWYKCi8vIHByaW50ZiA8MT9eIDwxP14KI3VuZGVmIE9QVFNUUl9wcmludGYKI2RlZmluZSBPUFRTVFJfcHJpbnRmICI8MT9eIgojaWZkZWYgQ0xFQU5VUF9wcmludGYKI3VuZGVmIENMRUFOVVBfcHJpbnRmCiN1bmRlZiBGT1JfcHJpbnRmCiNlbmRpZgoKLy8gcHMgICBrKHNvcnQpKlAocHBpZCkqYUFkZWZsTW5vKk8qcChwaWQpKnMqdCpUdSpVKmcqRyp3Wlshb2xdWytBZV1bIW9PXQojdW5kZWYgT1BUU1RSX3BzCiNkZWZpbmUgT1BUU1RSX3BzICJrKHNvcnQpKlAocHBpZCkqYUFkZWZsTW5vKk8qcChwaWQpKnMqdCpUdSpVKmcqRyp3Wlshb2xdWytBZV1bIW9PXSIKI2lmZGVmIENMRUFOVVBfcHMKI3VuZGVmIENMRUFOVVBfcHMKI3VuZGVmIEZPUl9wcwojdW5kZWYgRkxBR19aCiN1bmRlZiBGTEFHX3cKI3VuZGVmIEZMQUdfRwojdW5kZWYgRkxBR19nCiN1bmRlZiBGTEFHX1UKI3VuZGVmIEZMQUdfdQojdW5kZWYgRkxBR19UCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19wCiN1bmRlZiBGTEFHX08KI3VuZGVmIEZMQUdfbwojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX00KI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX2UKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19BCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfUAojdW5kZWYgRkxBR19rCiNlbmRpZgoKLy8gcHdkID4wTFBbLUxQXSA+MExQWy1MUF0KI3VuZGVmIE9QVFNUUl9wd2QKI2RlZmluZSBPUFRTVFJfcHdkICI+MExQWy1MUF0iCiNpZmRlZiBDTEVBTlVQX3B3ZAojdW5kZWYgQ0xFQU5VUF9wd2QKI3VuZGVmIEZPUl9wd2QKI3VuZGVmIEZMQUdfUAojdW5kZWYgRkxBR19MCiNlbmRpZgoKLy8gcHdkeCAgIDwxYQojdW5kZWYgT1BUU1RSX3B3ZHgKI2RlZmluZSBPUFRTVFJfcHdkeCAiPDFhIgojaWZkZWYgQ0xFQU5VUF9wd2R4CiN1bmRlZiBDTEVBTlVQX3B3ZHgKI3VuZGVmIEZPUl9wd2R4CiN1bmRlZiBGTEFHX2EKI2VuZGlmCgovLyBwd2dlbiAgID4ycihyZW1vdmUpOmMoY2FwaXRhbGl6ZSluKG51bWVyYWxzKXkoc3ltYm9scylzKHNlY3VyZSlCKGFtYmlndW91cyloKGhlbHApQzF2QShuby1jYXBpdGFsaXplKTAobm8tbnVtZXJhbHMpWy1jQV1bLW4wXVstQzFdCiN1bmRlZiBPUFRTVFJfcHdnZW4KI2RlZmluZSBPUFRTVFJfcHdnZW4gIj4ycihyZW1vdmUpOmMoY2FwaXRhbGl6ZSluKG51bWVyYWxzKXkoc3ltYm9scylzKHNlY3VyZSlCKGFtYmlndW91cyloKGhlbHApQzF2QShuby1jYXBpdGFsaXplKTAobm8tbnVtZXJhbHMpWy1jQV1bLW4wXVstQzFdIgojaWZkZWYgQ0xFQU5VUF9wd2dlbgojdW5kZWYgQ0xFQU5VUF9wd2dlbgojdW5kZWYgRk9SX3B3Z2VuCiN1bmRlZiBGTEFHXzAKI3VuZGVmIEZMQUdfQQojdW5kZWYgRkxBR192CiN1bmRlZiBGTEFHXzEKI3VuZGVmIEZMQUdfQwojdW5kZWYgRkxBR19oCiN1bmRlZiBGTEFHX0IKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR195CiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19yCiNlbmRpZgoKLy8gcmVhZGFoZWFkICAgIAojdW5kZWYgT1BUU1RSX3JlYWRhaGVhZAojZGVmaW5lIE9QVFNUUl9yZWFkYWhlYWQgMAojaWZkZWYgQ0xFQU5VUF9yZWFkYWhlYWQKI3VuZGVmIENMRUFOVVBfcmVhZGFoZWFkCiN1bmRlZiBGT1JfcmVhZGFoZWFkCiNlbmRpZgoKLy8gcmVhZGVsZiAgIDwxKGR5bi1zeW1zKUFhZGVobG5wOlNzV3g6CiN1bmRlZiBPUFRTVFJfcmVhZGVsZgojZGVmaW5lIE9QVFNUUl9yZWFkZWxmICI8MShkeW4tc3ltcylBYWRlaGxucDpTc1d4OiIKI2lmZGVmIENMRUFOVVBfcmVhZGVsZgojdW5kZWYgQ0xFQU5VUF9yZWFkZWxmCiN1bmRlZiBGT1JfcmVhZGVsZgojdW5kZWYgRkxBR194CiN1bmRlZiBGTEFHX1cKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19TCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX2gKI3VuZGVmIEZMQUdfZQojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfQQojdW5kZWYgRkxBR19keW5fc3ltcwojZW5kaWYKCi8vIHJlYWRsaW5rIDwxdm5mKGNhbm9uaWNhbGl6ZSllbXF6Wy1tZWZdWy1xdl0gPDF2bmYoY2Fub25pY2FsaXplKWVtcXpbLW1lZl1bLXF2XQojdW5kZWYgT1BUU1RSX3JlYWRsaW5rCiNkZWZpbmUgT1BUU1RSX3JlYWRsaW5rICI8MXZuZihjYW5vbmljYWxpemUpZW1xelstbWVmXVstcXZdIgojaWZkZWYgQ0xFQU5VUF9yZWFkbGluawojdW5kZWYgQ0xFQU5VUF9yZWFkbGluawojdW5kZWYgRk9SX3JlYWRsaW5rCiN1bmRlZiBGTEFHX3oKI3VuZGVmIEZMQUdfcQojdW5kZWYgRkxBR19tCiN1bmRlZiBGTEFHX2UKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX3YKI2VuZGlmCgovLyByZWFscGF0aCA8MShyZWxhdGl2ZS1iYXNlKTpSKHJlbGF0aXZlLXRvKTpzKG5vLXN5bWxpbmtzKUxQZW1xelstUHNdWy1MUF1bLW1lXSA8MShyZWxhdGl2ZS1iYXNlKTpSKHJlbGF0aXZlLXRvKTpzKG5vLXN5bWxpbmtzKUxQZW1xelstUHNdWy1MUF1bLW1lXQojdW5kZWYgT1BUU1RSX3JlYWxwYXRoCiNkZWZpbmUgT1BUU1RSX3JlYWxwYXRoICI8MShyZWxhdGl2ZS1iYXNlKTpSKHJlbGF0aXZlLXRvKTpzKG5vLXN5bWxpbmtzKUxQZW1xelstUHNdWy1MUF1bLW1lXSIKI2lmZGVmIENMRUFOVVBfcmVhbHBhdGgKI3VuZGVmIENMRUFOVVBfcmVhbHBhdGgKI3VuZGVmIEZPUl9yZWFscGF0aAojdW5kZWYgRkxBR196CiN1bmRlZiBGTEFHX3EKI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR19lCiN1bmRlZiBGTEFHX1AKI3VuZGVmIEZMQUdfTAojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX1IKI3VuZGVmIEZMQUdfcmVsYXRpdmVfYmFzZQojZW5kaWYKCi8vIHJlYm9vdCAgIGQ6Zm4KI3VuZGVmIE9QVFNUUl9yZWJvb3QKI2RlZmluZSBPUFRTVFJfcmVib290ICJkOmZuIgojaWZkZWYgQ0xFQU5VUF9yZWJvb3QKI3VuZGVmIENMRUFOVVBfcmVib290CiN1bmRlZiBGT1JfcmVib290CiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19kCiNlbmRpZgoKLy8gcmVuaWNlICAgPDFncHVuI3wKI3VuZGVmIE9QVFNUUl9yZW5pY2UKI2RlZmluZSBPUFRTVFJfcmVuaWNlICI8MWdwdW4jfCIKI2lmZGVmIENMRUFOVVBfcmVuaWNlCiN1bmRlZiBDTEVBTlVQX3JlbmljZQojdW5kZWYgRk9SX3JlbmljZQojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19nCiNlbmRpZgoKLy8gcmVzZXQgICAgCiN1bmRlZiBPUFRTVFJfcmVzZXQKI2RlZmluZSBPUFRTVFJfcmVzZXQgMAojaWZkZWYgQ0xFQU5VUF9yZXNldAojdW5kZWYgQ0xFQU5VUF9yZXNldAojdW5kZWYgRk9SX3Jlc2V0CiNlbmRpZgoKLy8gcmVzdG9yZWNvbiAgIDwxREZuUnJ2CiN1bmRlZiBPUFRTVFJfcmVzdG9yZWNvbgojZGVmaW5lIE9QVFNUUl9yZXN0b3JlY29uICI8MURGblJydiIKI2lmZGVmIENMRUFOVVBfcmVzdG9yZWNvbgojdW5kZWYgQ0xFQU5VUF9yZXN0b3JlY29uCiN1bmRlZiBGT1JfcmVzdG9yZWNvbgojdW5kZWYgRkxBR192CiN1bmRlZiBGTEFHX3IKI3VuZGVmIEZMQUdfUgojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX0YKI3VuZGVmIEZMQUdfRAojZW5kaWYKCi8vIHJldiAgICAKI3VuZGVmIE9QVFNUUl9yZXYKI2RlZmluZSBPUFRTVFJfcmV2IDAKI2lmZGVmIENMRUFOVVBfcmV2CiN1bmRlZiBDTEVBTlVQX3JldgojdW5kZWYgRk9SX3JldgojZW5kaWYKCi8vIHJma2lsbCAgIDwxPjIKI3VuZGVmIE9QVFNUUl9yZmtpbGwKI2RlZmluZSBPUFRTVFJfcmZraWxsICI8MT4yIgojaWZkZWYgQ0xFQU5VUF9yZmtpbGwKI3VuZGVmIENMRUFOVVBfcmZraWxsCiN1bmRlZiBGT1JfcmZraWxsCiNlbmRpZgoKLy8gcm0gZihmb3JjZSlpUnJ2Wy1maV0gZihmb3JjZSlpUnJ2Wy1maV0KI3VuZGVmIE9QVFNUUl9ybQojZGVmaW5lIE9QVFNUUl9ybSAiZihmb3JjZSlpUnJ2Wy1maV0iCiNpZmRlZiBDTEVBTlVQX3JtCiN1bmRlZiBDTEVBTlVQX3JtCiN1bmRlZiBGT1Jfcm0KI3VuZGVmIEZMQUdfdgojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX1IKI3VuZGVmIEZMQUdfaQojdW5kZWYgRkxBR19mCiNlbmRpZgoKLy8gcm1kaXIgPDEoaWdub3JlLWZhaWwtb24tbm9uLWVtcHR5KXAocGFyZW50cykgPDEoaWdub3JlLWZhaWwtb24tbm9uLWVtcHR5KXAocGFyZW50cykKI3VuZGVmIE9QVFNUUl9ybWRpcgojZGVmaW5lIE9QVFNUUl9ybWRpciAiPDEoaWdub3JlLWZhaWwtb24tbm9uLWVtcHR5KXAocGFyZW50cykiCiNpZmRlZiBDTEVBTlVQX3JtZGlyCiN1bmRlZiBDTEVBTlVQX3JtZGlyCiN1bmRlZiBGT1Jfcm1kaXIKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19pZ25vcmVfZmFpbF9vbl9ub25fZW1wdHkKI2VuZGlmCgovLyBybW1vZCAgIDwxd2YKI3VuZGVmIE9QVFNUUl9ybW1vZAojZGVmaW5lIE9QVFNUUl9ybW1vZCAiPDF3ZiIKI2lmZGVmIENMRUFOVVBfcm1tb2QKI3VuZGVmIENMRUFOVVBfcm1tb2QKI3VuZGVmIEZPUl9ybW1vZAojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX3cKI2VuZGlmCgovLyByb3V0ZSAgID9uZUE6CiN1bmRlZiBPUFRTVFJfcm91dGUKI2RlZmluZSBPUFRTVFJfcm91dGUgIj9uZUE6IgojaWZkZWYgQ0xFQU5VUF9yb3V0ZQojdW5kZWYgQ0xFQU5VUF9yb3V0ZQojdW5kZWYgRk9SX3JvdXRlCiN1bmRlZiBGTEFHX0EKI3VuZGVmIEZMQUdfZQojdW5kZWYgRkxBR19uCiNlbmRpZgoKLy8gcnRjd2FrZSAgIChsaXN0LW1vZGVzKTsoYXV0bylhKGRldmljZSlkOihsb2NhbClsKG1vZGUpbTooc2Vjb25kcylzIyh0aW1lKXQjKHV0Yyl1KHZlcmJvc2UpdlshYWx1XQojdW5kZWYgT1BUU1RSX3J0Y3dha2UKI2RlZmluZSBPUFRTVFJfcnRjd2FrZSAiKGxpc3QtbW9kZXMpOyhhdXRvKWEoZGV2aWNlKWQ6KGxvY2FsKWwobW9kZSltOihzZWNvbmRzKXMjKHRpbWUpdCModXRjKXUodmVyYm9zZSl2WyFhbHVdIgojaWZkZWYgQ0xFQU5VUF9ydGN3YWtlCiN1bmRlZiBDTEVBTlVQX3J0Y3dha2UKI3VuZGVmIEZPUl9ydGN3YWtlCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfdQojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfYQojdW5kZWYgRkxBR19hdXRvCiN1bmRlZiBGTEFHX2xpc3RfbW9kZXMKI2VuZGlmCgovLyBydW5jb24gICBePDIKI3VuZGVmIE9QVFNUUl9ydW5jb24KI2RlZmluZSBPUFRTVFJfcnVuY29uICJePDIiCiNpZmRlZiBDTEVBTlVQX3J1bmNvbgojdW5kZWYgQ0xFQU5VUF9ydW5jb24KI3VuZGVmIEZPUl9ydW5jb24KI2VuZGlmCgovLyBzZWQgKGhlbHApKHZlcnNpb24pKHRhcnhmb3JtKWUqZippOjtuRXJ6KG51bGwtZGF0YSlzWytFcl0gKGhlbHApKHZlcnNpb24pKHRhcnhmb3JtKWUqZippOjtuRXJ6KG51bGwtZGF0YSlzWytFcl0KI3VuZGVmIE9QVFNUUl9zZWQKI2RlZmluZSBPUFRTVFJfc2VkICIoaGVscCkodmVyc2lvbikodGFyeGZvcm0pZSpmKmk6O25FcnoobnVsbC1kYXRhKXNbK0VyXSIKI2lmZGVmIENMRUFOVVBfc2VkCiN1bmRlZiBDTEVBTlVQX3NlZAojdW5kZWYgRk9SX3NlZAojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX3oKI3VuZGVmIEZMQUdfcgojdW5kZWYgRkxBR19FCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfaQojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX2UKI3VuZGVmIEZMQUdfdGFyeGZvcm0KI3VuZGVmIEZMQUdfdmVyc2lvbgojdW5kZWYgRkxBR19oZWxwCiNlbmRpZgoKLy8gc2VuZGV2ZW50ICAgPDQ+NAojdW5kZWYgT1BUU1RSX3NlbmRldmVudAojZGVmaW5lIE9QVFNUUl9zZW5kZXZlbnQgIjw0PjQiCiNpZmRlZiBDTEVBTlVQX3NlbmRldmVudAojdW5kZWYgQ0xFQU5VUF9zZW5kZXZlbnQKI3VuZGVmIEZPUl9zZW5kZXZlbnQKI2VuZGlmCgovLyBzZXEgPDE+Mz9mOnM6d1shZnddIDwxPjM/ZjpzOndbIWZ3XQojdW5kZWYgT1BUU1RSX3NlcQojZGVmaW5lIE9QVFNUUl9zZXEgIjwxPjM/ZjpzOndbIWZ3XSIKI2lmZGVmIENMRUFOVVBfc2VxCiN1bmRlZiBDTEVBTlVQX3NlcQojdW5kZWYgRk9SX3NlcQojdW5kZWYgRkxBR193CiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfZgojZW5kaWYKCi8vIHNldCAgICAKI3VuZGVmIE9QVFNUUl9zZXQKI2RlZmluZSBPUFRTVFJfc2V0IDAKI2lmZGVmIENMRUFOVVBfc2V0CiN1bmRlZiBDTEVBTlVQX3NldAojdW5kZWYgRk9SX3NldAojZW5kaWYKCi8vIHNldGVuZm9yY2UgICA8MT4xCiN1bmRlZiBPUFRTVFJfc2V0ZW5mb3JjZQojZGVmaW5lIE9QVFNUUl9zZXRlbmZvcmNlICI8MT4xIgojaWZkZWYgQ0xFQU5VUF9zZXRlbmZvcmNlCiN1bmRlZiBDTEVBTlVQX3NldGVuZm9yY2UKI3VuZGVmIEZPUl9zZXRlbmZvcmNlCiNlbmRpZgoKLy8gc2V0ZmF0dHIgICBobjp8djp4OnxbIXh2XQojdW5kZWYgT1BUU1RSX3NldGZhdHRyCiNkZWZpbmUgT1BUU1RSX3NldGZhdHRyICJobjp8djp4OnxbIXh2XSIKI2lmZGVmIENMRUFOVVBfc2V0ZmF0dHIKI3VuZGVmIENMRUFOVVBfc2V0ZmF0dHIKI3VuZGVmIEZPUl9zZXRmYXR0cgojdW5kZWYgRkxBR194CiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19oCiNlbmRpZgoKLy8gc2V0c2lkIF48MXdjQGRbIWRjXSBePDF3Y0BkWyFkY10KI3VuZGVmIE9QVFNUUl9zZXRzaWQKI2RlZmluZSBPUFRTVFJfc2V0c2lkICJePDF3Y0BkWyFkY10iCiNpZmRlZiBDTEVBTlVQX3NldHNpZAojdW5kZWYgQ0xFQU5VUF9zZXRzaWQKI3VuZGVmIEZPUl9zZXRzaWQKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19jCiN1bmRlZiBGTEFHX3cKI2VuZGlmCgovLyBzaCAgIDBeKG5vZWRpdGluZykobm9wcm9maWxlKShub3JjKXNjOmkKI3VuZGVmIE9QVFNUUl9zaAojZGVmaW5lIE9QVFNUUl9zaCAiMF4obm9lZGl0aW5nKShub3Byb2ZpbGUpKG5vcmMpc2M6aSIKI2lmZGVmIENMRUFOVVBfc2gKI3VuZGVmIENMRUFOVVBfc2gKI3VuZGVmIEZPUl9zaAojdW5kZWYgRkxBR19pCiN1bmRlZiBGTEFHX2MKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19ub3JjCiN1bmRlZiBGTEFHX25vcHJvZmlsZQojdW5kZWYgRkxBR19ub2VkaXRpbmcKI2VuZGlmCgovLyBzaGEzc3VtICAgYlNhIzwxMjg+NTEyPTIyNAojdW5kZWYgT1BUU1RSX3NoYTNzdW0KI2RlZmluZSBPUFRTVFJfc2hhM3N1bSAiYlNhIzwxMjg+NTEyPTIyNCIKI2lmZGVmIENMRUFOVVBfc2hhM3N1bQojdW5kZWYgQ0xFQU5VUF9zaGEzc3VtCiN1bmRlZiBGT1Jfc2hhM3N1bQojdW5kZWYgRkxBR19hCiN1bmRlZiBGTEFHX1MKI3VuZGVmIEZMQUdfYgojZW5kaWYKCi8vIHNoaWZ0ICAgPjEKI3VuZGVmIE9QVFNUUl9zaGlmdAojZGVmaW5lIE9QVFNUUl9zaGlmdCAiPjEiCiNpZmRlZiBDTEVBTlVQX3NoaWZ0CiN1bmRlZiBDTEVBTlVQX3NoaWZ0CiN1bmRlZiBGT1Jfc2hpZnQKI2VuZGlmCgovLyBzaHJlZCAgIDwxenh1cyM8MW4jPDFvIzwwZgojdW5kZWYgT1BUU1RSX3NocmVkCiNkZWZpbmUgT1BUU1RSX3NocmVkICI8MXp4dXMjPDFuIzwxbyM8MGYiCiNpZmRlZiBDTEVBTlVQX3NocmVkCiN1bmRlZiBDTEVBTlVQX3NocmVkCiN1bmRlZiBGT1Jfc2hyZWQKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19vCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX3gKI3VuZGVmIEZMQUdfegojZW5kaWYKCi8vIHNodWYgICB6ZW4jPDAKI3VuZGVmIE9QVFNUUl9zaHVmCiNkZWZpbmUgT1BUU1RSX3NodWYgInplbiM8MCIKI2lmZGVmIENMRUFOVVBfc2h1ZgojdW5kZWYgQ0xFQU5VUF9zaHVmCiN1bmRlZiBGT1Jfc2h1ZgojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX2UKI3VuZGVmIEZMQUdfegojZW5kaWYKCi8vIHNrZWxldG9uICAgKHdhbHJ1cykoYmx1YmJlcik6OyhhbHNvKTpoKGhsb25nKTo7IGcoZ2xvbmcpOiBmKGxvbmdmKTo7ZUBkKmMjYjphCiN1bmRlZiBPUFRTVFJfc2tlbGV0b24KI2RlZmluZSBPUFRTVFJfc2tlbGV0b24gIih3YWxydXMpKGJsdWJiZXIpOjsoYWxzbyk6aChobG9uZyk6OyBnKGdsb25nKTogZihsb25nZik6O2VAZCpjI2I6YSIKI2lmZGVmIENMRUFOVVBfc2tlbGV0b24KI3VuZGVmIENMRUFOVVBfc2tlbGV0b24KI3VuZGVmIEZPUl9za2VsZXRvbgojdW5kZWYgRkxBR19hCiN1bmRlZiBGTEFHX2IKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX2UKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19nCiN1bmRlZiBGTEFHX2gKI3VuZGVmIEZMQUdfYWxzbwojdW5kZWYgRkxBR19ibHViYmVyCiN1bmRlZiBGTEFHX3dhbHJ1cwojZW5kaWYKCi8vIHNrZWxldG9uX2FsaWFzICAgYiNkcQojdW5kZWYgT1BUU1RSX3NrZWxldG9uX2FsaWFzCiNkZWZpbmUgT1BUU1RSX3NrZWxldG9uX2FsaWFzICJiI2RxIgojaWZkZWYgQ0xFQU5VUF9za2VsZXRvbl9hbGlhcwojdW5kZWYgQ0xFQU5VUF9za2VsZXRvbl9hbGlhcwojdW5kZWYgRk9SX3NrZWxldG9uX2FsaWFzCiN1bmRlZiBGTEFHX3EKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19iCiNlbmRpZgoKLy8gc2xlZXAgPDEgPDEKI3VuZGVmIE9QVFNUUl9zbGVlcAojZGVmaW5lIE9QVFNUUl9zbGVlcCAiPDEiCiNpZmRlZiBDTEVBTlVQX3NsZWVwCiN1bmRlZiBDTEVBTlVQX3NsZWVwCiN1bmRlZiBGT1Jfc2xlZXAKI2VuZGlmCgovLyBzbnRwICAgPjFNIDptIDpTcDp0IzwwPTE+MTZhc2REcXIjPDQ+MTc9MTBbIWFzXQojdW5kZWYgT1BUU1RSX3NudHAKI2RlZmluZSBPUFRTVFJfc250cCAiPjFNIDptIDpTcDp0IzwwPTE+MTZhc2REcXIjPDQ+MTc9MTBbIWFzXSIKI2lmZGVmIENMRUFOVVBfc250cAojdW5kZWYgQ0xFQU5VUF9zbnRwCiN1bmRlZiBGT1Jfc250cAojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX3EKI3VuZGVmIEZMQUdfRAojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfYQojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfUwojdW5kZWYgRkxBR19tCiN1bmRlZiBGTEFHX00KI2VuZGlmCgovLyBzb3J0IGdTOlQ6bW86ayp0OnhWYk1DY3N6ZGZpcnVuIGdTOlQ6bW86ayp0OnhWYk1DY3N6ZGZpcnVuCiN1bmRlZiBPUFRTVFJfc29ydAojZGVmaW5lIE9QVFNUUl9zb3J0ICJnUzpUOm1vOmsqdDp4VmJNQ2NzemRmaXJ1biIKI2lmZGVmIENMRUFOVVBfc29ydAojdW5kZWYgQ0xFQU5VUF9zb3J0CiN1bmRlZiBGT1Jfc29ydAojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfcgojdW5kZWYgRkxBR19pCiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR196CiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19DCiN1bmRlZiBGTEFHX00KI3VuZGVmIEZMQUdfYgojdW5kZWYgRkxBR19WCiN1bmRlZiBGTEFHX3gKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR19rCiN1bmRlZiBGTEFHX28KI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR19UCiN1bmRlZiBGTEFHX1MKI3VuZGVmIEZMQUdfZwojZW5kaWYKCi8vIHNvdXJjZSAgIDwxCiN1bmRlZiBPUFRTVFJfc291cmNlCiNkZWZpbmUgT1BUU1RSX3NvdXJjZSAiPDEiCiNpZmRlZiBDTEVBTlVQX3NvdXJjZQojdW5kZWYgQ0xFQU5VUF9zb3VyY2UKI3VuZGVmIEZPUl9zb3VyY2UKI2VuZGlmCgovLyBzcGxpdCAgID4yYSM8MT0yPjliIzwxbCM8MW4jPDFbIWJsXVshYm5dWyFsbl0KI3VuZGVmIE9QVFNUUl9zcGxpdAojZGVmaW5lIE9QVFNUUl9zcGxpdCAiPjJhIzwxPTI+OWIjPDFsIzwxbiM8MVshYmxdWyFibl1bIWxuXSIKI2lmZGVmIENMRUFOVVBfc3BsaXQKI3VuZGVmIENMRUFOVVBfc3BsaXQKI3VuZGVmIEZPUl9zcGxpdAojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX2wKI3VuZGVmIEZMQUdfYgojdW5kZWYgRkxBR19hCiNlbmRpZgoKLy8gc3RhdCA8MWM6KGZvcm1hdClmTHQgPDFjOihmb3JtYXQpZkx0CiN1bmRlZiBPUFRTVFJfc3RhdAojZGVmaW5lIE9QVFNUUl9zdGF0ICI8MWM6KGZvcm1hdClmTHQiCiNpZmRlZiBDTEVBTlVQX3N0YXQKI3VuZGVmIENMRUFOVVBfc3RhdAojdW5kZWYgRk9SX3N0YXQKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR19MCiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfYwojZW5kaWYKCi8vIHN0cmFjZSAgIF5wI3MjdgojdW5kZWYgT1BUU1RSX3N0cmFjZQojZGVmaW5lIE9QVFNUUl9zdHJhY2UgIl5wI3MjdiIKI2lmZGVmIENMRUFOVVBfc3RyYWNlCiN1bmRlZiBDTEVBTlVQX3N0cmFjZQojdW5kZWYgRk9SX3N0cmFjZQojdW5kZWYgRkxBR192CiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfcAojZW5kaWYKCi8vIHN0cmluZ3MgICB0OmFuIz00PDFmbwojdW5kZWYgT1BUU1RSX3N0cmluZ3MKI2RlZmluZSBPUFRTVFJfc3RyaW5ncyAidDphbiM9NDwxZm8iCiNpZmRlZiBDTEVBTlVQX3N0cmluZ3MKI3VuZGVmIENMRUFOVVBfc3RyaW5ncwojdW5kZWYgRk9SX3N0cmluZ3MKI3VuZGVmIEZMQUdfbwojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfYQojdW5kZWYgRkxBR190CiNlbmRpZgoKLy8gc3R0eSAgID9hRjpnWyFhZ10KI3VuZGVmIE9QVFNUUl9zdHR5CiNkZWZpbmUgT1BUU1RSX3N0dHkgIj9hRjpnWyFhZ10iCiNpZmRlZiBDTEVBTlVQX3N0dHkKI3VuZGVmIENMRUFOVVBfc3R0eQojdW5kZWYgRk9SX3N0dHkKI3VuZGVmIEZMQUdfZwojdW5kZWYgRkxBR19GCiN1bmRlZiBGTEFHX2EKI2VuZGlmCgovLyBzdSAgIF5sbXB1Omc6YzpzOlshbG1wXQojdW5kZWYgT1BUU1RSX3N1CiNkZWZpbmUgT1BUU1RSX3N1ICJebG1wdTpnOmM6czpbIWxtcF0iCiNpZmRlZiBDTEVBTlVQX3N1CiN1bmRlZiBDTEVBTlVQX3N1CiN1bmRlZiBGT1Jfc3UKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19jCiN1bmRlZiBGTEFHX2cKI3VuZGVmIEZMQUdfdQojdW5kZWYgRkxBR19wCiN1bmRlZiBGTEFHX20KI3VuZGVmIEZMQUdfbAojZW5kaWYKCi8vIHN1bG9naW4gICB0IzwwPTAKI3VuZGVmIE9QVFNUUl9zdWxvZ2luCiNkZWZpbmUgT1BUU1RSX3N1bG9naW4gInQjPDA9MCIKI2lmZGVmIENMRUFOVVBfc3Vsb2dpbgojdW5kZWYgQ0xFQU5VUF9zdWxvZ2luCiN1bmRlZiBGT1Jfc3Vsb2dpbgojdW5kZWYgRkxBR190CiNlbmRpZgoKLy8gc3dhcG9mZiAgIDwxPjFhdgojdW5kZWYgT1BUU1RSX3N3YXBvZmYKI2RlZmluZSBPUFRTVFJfc3dhcG9mZiAiPDE+MWF2IgojaWZkZWYgQ0xFQU5VUF9zd2Fwb2ZmCiN1bmRlZiBDTEVBTlVQX3N3YXBvZmYKI3VuZGVmIEZPUl9zd2Fwb2ZmCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfYQojZW5kaWYKCi8vIHN3YXBvbiAgIDwxPjFwIzwwPjMyNzY3ZAojdW5kZWYgT1BUU1RSX3N3YXBvbgojZGVmaW5lIE9QVFNUUl9zd2Fwb24gIjwxPjFwIzwwPjMyNzY3ZCIKI2lmZGVmIENMRUFOVVBfc3dhcG9uCiN1bmRlZiBDTEVBTlVQX3N3YXBvbgojdW5kZWYgRk9SX3N3YXBvbgojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX3AKI2VuZGlmCgovLyBzd2l0Y2hfcm9vdCAgIDwyYzpoCiN1bmRlZiBPUFRTVFJfc3dpdGNoX3Jvb3QKI2RlZmluZSBPUFRTVFJfc3dpdGNoX3Jvb3QgIjwyYzpoIgojaWZkZWYgQ0xFQU5VUF9zd2l0Y2hfcm9vdAojdW5kZWYgQ0xFQU5VUF9zd2l0Y2hfcm9vdAojdW5kZWYgRk9SX3N3aXRjaF9yb290CiN1bmRlZiBGTEFHX2gKI3VuZGVmIEZMQUdfYwojZW5kaWYKCi8vIHN5bmMgICAgCiN1bmRlZiBPUFRTVFJfc3luYwojZGVmaW5lIE9QVFNUUl9zeW5jIDAKI2lmZGVmIENMRUFOVVBfc3luYwojdW5kZWYgQ0xFQU5VUF9zeW5jCiN1bmRlZiBGT1Jfc3luYwojZW5kaWYKCi8vIHN5c2N0bCAgIF5uZU5xd3BhQVshYXBdWyFhcV1bIWF3XVsrYUFdCiN1bmRlZiBPUFRTVFJfc3lzY3RsCiNkZWZpbmUgT1BUU1RSX3N5c2N0bCAiXm5lTnF3cGFBWyFhcF1bIWFxXVshYXddWythQV0iCiNpZmRlZiBDTEVBTlVQX3N5c2N0bAojdW5kZWYgQ0xFQU5VUF9zeXNjdGwKI3VuZGVmIEZPUl9zeXNjdGwKI3VuZGVmIEZMQUdfQQojdW5kZWYgRkxBR19hCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfdwojdW5kZWYgRkxBR19xCiN1bmRlZiBGTEFHX04KI3VuZGVmIEZMQUdfZQojdW5kZWYgRkxBR19uCiNlbmRpZgoKLy8gc3lzbG9nZCAgID4wbCM8MT44PThSOmIjPDA+OTk9MXMjPDA9MjAwbSM8MD43MTU4Mjc4Nz0yME86cDpmOmE6blNLTEQKI3VuZGVmIE9QVFNUUl9zeXNsb2dkCiNkZWZpbmUgT1BUU1RSX3N5c2xvZ2QgIj4wbCM8MT44PThSOmIjPDA+OTk9MXMjPDA9MjAwbSM8MD43MTU4Mjc4Nz0yME86cDpmOmE6blNLTEQiCiNpZmRlZiBDTEVBTlVQX3N5c2xvZ2QKI3VuZGVmIENMRUFOVVBfc3lzbG9nZAojdW5kZWYgRk9SX3N5c2xvZ2QKI3VuZGVmIEZMQUdfRAojdW5kZWYgRkxBR19MCiN1bmRlZiBGTEFHX0sKI3VuZGVmIEZMQUdfUwojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19wCiN1bmRlZiBGTEFHX08KI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX2IKI3VuZGVmIEZMQUdfUgojdW5kZWYgRkxBR19sCiNlbmRpZgoKLy8gdGFjICAgIAojdW5kZWYgT1BUU1RSX3RhYwojZGVmaW5lIE9QVFNUUl90YWMgMAojaWZkZWYgQ0xFQU5VUF90YWMKI3VuZGVmIENMRUFOVVBfdGFjCiN1bmRlZiBGT1JfdGFjCiNlbmRpZgoKLy8gdGFpbCA/ZkZzOmMoYnl0ZXMpLW4obGluZXMpLVstY25dWy1mRl0gP2ZGczpjKGJ5dGVzKS1uKGxpbmVzKS1bLWNuXVstZkZdCiN1bmRlZiBPUFRTVFJfdGFpbAojZGVmaW5lIE9QVFNUUl90YWlsICI/ZkZzOmMoYnl0ZXMpLW4obGluZXMpLVstY25dWy1mRl0iCiNpZmRlZiBDTEVBTlVQX3RhaWwKI3VuZGVmIENMRUFOVVBfdGFpbAojdW5kZWYgRk9SX3RhaWwKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19jCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfRgojdW5kZWYgRkxBR19mCiNlbmRpZgoKLy8gdGFyICYob25lLWZpbGUtc3lzdGVtKShuby1pZ25vcmUtY2FzZSkoaWdub3JlLWNhc2UpKG5vLWFuY2hvcmVkKShhbmNob3JlZCkobm8td2lsZGNhcmRzKSh3aWxkY2FyZHMpKG5vLXdpbGRjYXJkcy1tYXRjaC1zbGFzaCkod2lsZGNhcmRzLW1hdGNoLXNsYXNoKShzaG93LXRyYW5zZm9ybWVkLW5hbWVzKShzZWxpbnV4KShyZXN0cmljdCkoZnVsbC10aW1lKShuby1yZWN1cnNpb24pKG51bGwpKG51bWVyaWMtb3duZXIpKG5vLXNhbWUtcGVybWlzc2lvbnMpKG92ZXJ3cml0ZSkoZXhjbHVkZSkqKHNvcnQpOzoobW9kZSk6KG10aW1lKTooZ3JvdXApOihvd25lcik6KHRvLWNvbW1hbmQpOn4oc3RyaXAtY29tcG9uZW50cykoc3RyaXApI34odHJhbnNmb3JtKSh4Zm9ybSkqbyhuby1zYW1lLW93bmVyKXAoc2FtZS1wZXJtaXNzaW9ucylrKGtlZXAtb2xkKWMoY3JlYXRlKXxoKGRlcmVmZXJlbmNlKXgoZXh0cmFjdCl8dChsaXN0KXx2KHZlcmJvc2UpSih4eilqKGJ6aXAyKXooZ3ppcClTKHNwYXJzZSlPKHRvLXN0ZG91dClQKGFic29sdXRlLW5hbWVzKW0odG91Y2gpWChleGNsdWRlLWZyb20pKlQoZmlsZXMtZnJvbSkqSSh1c2UtY29tcHJlc3MtcHJvZ3JhbSk6QyhkaXJlY3RvcnkpOmYoZmlsZSk6YXNbIXR4Y11bIWp6SmFdICYob25lLWZpbGUtc3lzdGVtKShuby1pZ25vcmUtY2FzZSkoaWdub3JlLWNhc2UpKG5vLWFuY2hvcmVkKShhbmNob3JlZCkobm8td2lsZGNhcmRzKSh3aWxkY2FyZHMpKG5vLXdpbGRjYXJkcy1tYXRjaC1zbGFzaCkod2lsZGNhcmRzLW1hdGNoLXNsYXNoKShzaG93LXRyYW5zZm9ybWVkLW5hbWVzKShzZWxpbnV4KShyZXN0cmljdCkoZnVsbC10aW1lKShuby1yZWN1cnNpb24pKG51bGwpKG51bWVyaWMtb3duZXIpKG5vLXNhbWUtcGVybWlzc2lvbnMpKG92ZXJ3cml0ZSkoZXhjbHVkZSkqKHNvcnQpOzoobW9kZSk6KG10aW1lKTooZ3JvdXApOihvd25lcik6KHRvLWNvbW1hbmQpOn4oc3RyaXAtY29tcG9uZW50cykoc3RyaXApI34odHJhbnNmb3JtKSh4Zm9ybSkqbyhuby1zYW1lLW93bmVyKXAoc2FtZS1wZXJtaXNzaW9ucylrKGtlZXAtb2xkKWMoY3JlYXRlKXxoKGRlcmVmZXJlbmNlKXgoZXh0cmFjdCl8dChsaXN0KXx2KHZlcmJvc2UpSih4eilqKGJ6aXAyKXooZ3ppcClTKHNwYXJzZSlPKHRvLXN0ZG91dClQKGFic29sdXRlLW5hbWVzKW0odG91Y2gpWChleGNsdWRlLWZyb20pKlQoZmlsZXMtZnJvbSkqSSh1c2UtY29tcHJlc3MtcHJvZ3JhbSk6QyhkaXJlY3RvcnkpOmYoZmlsZSk6YXNbIXR4Y11bIWp6SmFdCiN1bmRlZiBPUFRTVFJfdGFyCiNkZWZpbmUgT1BUU1RSX3RhciAiJihvbmUtZmlsZS1zeXN0ZW0pKG5vLWlnbm9yZS1jYXNlKShpZ25vcmUtY2FzZSkobm8tYW5jaG9yZWQpKGFuY2hvcmVkKShuby13aWxkY2FyZHMpKHdpbGRjYXJkcykobm8td2lsZGNhcmRzLW1hdGNoLXNsYXNoKSh3aWxkY2FyZHMtbWF0Y2gtc2xhc2gpKHNob3ctdHJhbnNmb3JtZWQtbmFtZXMpKHNlbGludXgpKHJlc3RyaWN0KShmdWxsLXRpbWUpKG5vLXJlY3Vyc2lvbikobnVsbCkobnVtZXJpYy1vd25lcikobm8tc2FtZS1wZXJtaXNzaW9ucykob3ZlcndyaXRlKShleGNsdWRlKSooc29ydCk7Oihtb2RlKToobXRpbWUpOihncm91cCk6KG93bmVyKToodG8tY29tbWFuZCk6fihzdHJpcC1jb21wb25lbnRzKShzdHJpcCkjfih0cmFuc2Zvcm0pKHhmb3JtKSpvKG5vLXNhbWUtb3duZXIpcChzYW1lLXBlcm1pc3Npb25zKWsoa2VlcC1vbGQpYyhjcmVhdGUpfGgoZGVyZWZlcmVuY2UpeChleHRyYWN0KXx0KGxpc3QpfHYodmVyYm9zZSlKKHh6KWooYnppcDIpeihnemlwKVMoc3BhcnNlKU8odG8tc3Rkb3V0KVAoYWJzb2x1dGUtbmFtZXMpbSh0b3VjaClYKGV4Y2x1ZGUtZnJvbSkqVChmaWxlcy1mcm9tKSpJKHVzZS1jb21wcmVzcy1wcm9ncmFtKTpDKGRpcmVjdG9yeSk6ZihmaWxlKTphc1shdHhjXVshanpKYV0iCiNpZmRlZiBDTEVBTlVQX3RhcgojdW5kZWYgQ0xFQU5VUF90YXIKI3VuZGVmIEZPUl90YXIKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19hCiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfQwojdW5kZWYgRkxBR19JCiN1bmRlZiBGTEFHX1QKI3VuZGVmIEZMQUdfWAojdW5kZWYgRkxBR19tCiN1bmRlZiBGTEFHX1AKI3VuZGVmIEZMQUdfTwojdW5kZWYgRkxBR19TCiN1bmRlZiBGTEFHX3oKI3VuZGVmIEZMQUdfagojdW5kZWYgRkxBR19KCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR194CiN1bmRlZiBGTEFHX2gKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19rCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfbwojdW5kZWYgRkxBR194Zm9ybQojdW5kZWYgRkxBR19zdHJpcAojdW5kZWYgRkxBR190b19jb21tYW5kCiN1bmRlZiBGTEFHX293bmVyCiN1bmRlZiBGTEFHX2dyb3VwCiN1bmRlZiBGTEFHX210aW1lCiN1bmRlZiBGTEFHX21vZGUKI3VuZGVmIEZMQUdfc29ydAojdW5kZWYgRkxBR19leGNsdWRlCiN1bmRlZiBGTEFHX292ZXJ3cml0ZQojdW5kZWYgRkxBR19ub19zYW1lX3Blcm1pc3Npb25zCiN1bmRlZiBGTEFHX251bWVyaWNfb3duZXIKI3VuZGVmIEZMQUdfbnVsbAojdW5kZWYgRkxBR19ub19yZWN1cnNpb24KI3VuZGVmIEZMQUdfZnVsbF90aW1lCiN1bmRlZiBGTEFHX3Jlc3RyaWN0CiN1bmRlZiBGTEFHX3NlbGludXgKI3VuZGVmIEZMQUdfc2hvd190cmFuc2Zvcm1lZF9uYW1lcwojdW5kZWYgRkxBR193aWxkY2FyZHNfbWF0Y2hfc2xhc2gKI3VuZGVmIEZMQUdfbm9fd2lsZGNhcmRzX21hdGNoX3NsYXNoCiN1bmRlZiBGTEFHX3dpbGRjYXJkcwojdW5kZWYgRkxBR19ub193aWxkY2FyZHMKI3VuZGVmIEZMQUdfYW5jaG9yZWQKI3VuZGVmIEZMQUdfbm9fYW5jaG9yZWQKI3VuZGVmIEZMQUdfaWdub3JlX2Nhc2UKI3VuZGVmIEZMQUdfbm9faWdub3JlX2Nhc2UKI3VuZGVmIEZMQUdfb25lX2ZpbGVfc3lzdGVtCiNlbmRpZgoKLy8gdGFza3NldCAgIDwxXnBhCiN1bmRlZiBPUFRTVFJfdGFza3NldAojZGVmaW5lIE9QVFNUUl90YXNrc2V0ICI8MV5wYSIKI2lmZGVmIENMRUFOVVBfdGFza3NldAojdW5kZWYgQ0xFQU5VUF90YXNrc2V0CiN1bmRlZiBGT1JfdGFza3NldAojdW5kZWYgRkxBR19hCiN1bmRlZiBGTEFHX3AKI2VuZGlmCgovLyB0Y3BzdmQgICBePDNjIz0zMDwxYiM9MjA8MEM6dTpsOmhFdgojdW5kZWYgT1BUU1RSX3RjcHN2ZAojZGVmaW5lIE9QVFNUUl90Y3BzdmQgIl48M2MjPTMwPDFiIz0yMDwwQzp1Omw6aEV2IgojaWZkZWYgQ0xFQU5VUF90Y3BzdmQKI3VuZGVmIENMRUFOVVBfdGNwc3ZkCiN1bmRlZiBGT1JfdGNwc3ZkCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfRQojdW5kZWYgRkxBR19oCiN1bmRlZiBGTEFHX2wKI3VuZGVmIEZMQUdfdQojdW5kZWYgRkxBR19DCiN1bmRlZiBGTEFHX2IKI3VuZGVmIEZMQUdfYwojZW5kaWYKCi8vIHRlZSBpYSBpYQojdW5kZWYgT1BUU1RSX3RlZQojZGVmaW5lIE9QVFNUUl90ZWUgImlhIgojaWZkZWYgQ0xFQU5VUF90ZWUKI3VuZGVmIENMRUFOVVBfdGVlCiN1bmRlZiBGT1JfdGVlCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfaQojZW5kaWYKCi8vIHRlbG5ldCAgIDwxPjIKI3VuZGVmIE9QVFNUUl90ZWxuZXQKI2RlZmluZSBPUFRTVFJfdGVsbmV0ICI8MT4yIgojaWZkZWYgQ0xFQU5VUF90ZWxuZXQKI3VuZGVmIENMRUFOVVBfdGVsbmV0CiN1bmRlZiBGT1JfdGVsbmV0CiNlbmRpZgoKLy8gdGVsbmV0ZCAgIHcjPDBiOnAjPDA+NjU1MzU9MjNmOmw6RlNLaVshd2ldCiN1bmRlZiBPUFRTVFJfdGVsbmV0ZAojZGVmaW5lIE9QVFNUUl90ZWxuZXRkICJ3IzwwYjpwIzwwPjY1NTM1PTIzZjpsOkZTS2lbIXdpXSIKI2lmZGVmIENMRUFOVVBfdGVsbmV0ZAojdW5kZWYgQ0xFQU5VUF90ZWxuZXRkCiN1bmRlZiBGT1JfdGVsbmV0ZAojdW5kZWYgRkxBR19pCiN1bmRlZiBGTEFHX0sKI3VuZGVmIEZMQUdfUwojdW5kZWYgRkxBR19GCiN1bmRlZiBGTEFHX2wKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19wCiN1bmRlZiBGTEFHX2IKI3VuZGVmIEZMQUdfdwojZW5kaWYKCi8vIHRlc3QgICAgCiN1bmRlZiBPUFRTVFJfdGVzdAojZGVmaW5lIE9QVFNUUl90ZXN0IDAKI2lmZGVmIENMRUFOVVBfdGVzdAojdW5kZWYgQ0xFQU5VUF90ZXN0CiN1bmRlZiBGT1JfdGVzdAojZW5kaWYKCi8vIHRmdHAgICA8MWIjPDg+NjU0NjRyOmw6Z3xwfFshZ3BdCiN1bmRlZiBPUFRTVFJfdGZ0cAojZGVmaW5lIE9QVFNUUl90ZnRwICI8MWIjPDg+NjU0NjRyOmw6Z3xwfFshZ3BdIgojaWZkZWYgQ0xFQU5VUF90ZnRwCiN1bmRlZiBDTEVBTlVQX3RmdHAKI3VuZGVmIEZPUl90ZnRwCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfZwojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX3IKI3VuZGVmIEZMQUdfYgojZW5kaWYKCi8vIHRmdHBkICAgcmN1OmwKI3VuZGVmIE9QVFNUUl90ZnRwZAojZGVmaW5lIE9QVFNUUl90ZnRwZCAicmN1OmwiCiNpZmRlZiBDTEVBTlVQX3RmdHBkCiN1bmRlZiBDTEVBTlVQX3RmdHBkCiN1bmRlZiBGT1JfdGZ0cGQKI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX2MKI3VuZGVmIEZMQUdfcgojZW5kaWYKCi8vIHRpbWUgICA8MV5wdlstcHZdCiN1bmRlZiBPUFRTVFJfdGltZQojZGVmaW5lIE9QVFNUUl90aW1lICI8MV5wdlstcHZdIgojaWZkZWYgQ0xFQU5VUF90aW1lCiN1bmRlZiBDTEVBTlVQX3RpbWUKI3VuZGVmIEZPUl90aW1lCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfcAojZW5kaWYKCi8vIHRpbWVvdXQgPDJeKGZvcmVncm91bmQpKHByZXNlcnZlLXN0YXR1cyl2azpzKHNpZ25hbCk6aSA8Ml4oZm9yZWdyb3VuZCkocHJlc2VydmUtc3RhdHVzKXZrOnMoc2lnbmFsKTppCiN1bmRlZiBPUFRTVFJfdGltZW91dAojZGVmaW5lIE9QVFNUUl90aW1lb3V0ICI8Ml4oZm9yZWdyb3VuZCkocHJlc2VydmUtc3RhdHVzKXZrOnMoc2lnbmFsKTppIgojaWZkZWYgQ0xFQU5VUF90aW1lb3V0CiN1bmRlZiBDTEVBTlVQX3RpbWVvdXQKI3VuZGVmIEZPUl90aW1lb3V0CiN1bmRlZiBGTEFHX2kKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19rCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfcHJlc2VydmVfc3RhdHVzCiN1bmRlZiBGTEFHX2ZvcmVncm91bmQKI2VuZGlmCgovLyB0b3AgICA+ME8qaEhrKm8qcCp1KnMjPDFkJTwxMDA9MzAwMG0jbiM8MWJxWyFvT10KI3VuZGVmIE9QVFNUUl90b3AKI2RlZmluZSBPUFRTVFJfdG9wICI+ME8qaEhrKm8qcCp1KnMjPDFkJTwxMDA9MzAwMG0jbiM8MWJxWyFvT10iCiNpZmRlZiBDTEVBTlVQX3RvcAojdW5kZWYgQ0xFQU5VUF90b3AKI3VuZGVmIEZPUl90b3AKI3VuZGVmIEZMQUdfcQojdW5kZWYgRkxBR19iCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfdQojdW5kZWYgRkxBR19wCiN1bmRlZiBGTEFHX28KI3VuZGVmIEZMQUdfawojdW5kZWYgRkxBR19ICiN1bmRlZiBGTEFHX2gKI3VuZGVmIEZMQUdfTwojZW5kaWYKCi8vIHRvdWNoIDwxYWNkOmZtcjp0OmhbIWR0cl0gPDFhY2Q6Zm1yOnQ6aFshZHRyXQojdW5kZWYgT1BUU1RSX3RvdWNoCiNkZWZpbmUgT1BUU1RSX3RvdWNoICI8MWFjZDpmbXI6dDpoWyFkdHJdIgojaWZkZWYgQ0xFQU5VUF90b3VjaAojdW5kZWYgQ0xFQU5VUF90b3VjaAojdW5kZWYgRk9SX3RvdWNoCiN1bmRlZiBGTEFHX2gKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX20KI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX2MKI3VuZGVmIEZMQUdfYQojZW5kaWYKCi8vIHRveWJveCAgICAKI3VuZGVmIE9QVFNUUl90b3lib3gKI2RlZmluZSBPUFRTVFJfdG95Ym94IDAKI2lmZGVmIENMRUFOVVBfdG95Ym94CiN1bmRlZiBDTEVBTlVQX3RveWJveAojdW5kZWYgRk9SX3RveWJveAojZW5kaWYKCi8vIHRyIF48MT4yQ2NzdGRbK2NDXSBePDE+MkNjc3RkWytjQ10KI3VuZGVmIE9QVFNUUl90cgojZGVmaW5lIE9QVFNUUl90ciAiXjwxPjJDY3N0ZFsrY0NdIgojaWZkZWYgQ0xFQU5VUF90cgojdW5kZWYgQ0xFQU5VUF90cgojdW5kZWYgRk9SX3RyCiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX2MKI3VuZGVmIEZMQUdfQwojZW5kaWYKCi8vIHRyYWNlcm91dGUgICA8MT4yaTpmIzwxPjI1NT0xeiM8MD44NjQwMD0wZyp3IzwwPjg2NDAwPTV0IzwwPjI1NT0wczpxIzwxPjI1NT0zcCM8MT42NTUzNT0zMzQzNG0jPDE+MjU1PTMwcnZuZGxJVUY2NAojdW5kZWYgT1BUU1RSX3RyYWNlcm91dGUKI2RlZmluZSBPUFRTVFJfdHJhY2Vyb3V0ZSAiPDE+Mmk6ZiM8MT4yNTU9MXojPDA+ODY0MDA9MGcqdyM8MD44NjQwMD01dCM8MD4yNTU9MHM6cSM8MT4yNTU9M3AjPDE+NjU1MzU9MzM0MzRtIzwxPjI1NT0zMHJ2bmRsSVVGNjQiCiNpZmRlZiBDTEVBTlVQX3RyYWNlcm91dGUKI3VuZGVmIENMRUFOVVBfdHJhY2Vyb3V0ZQojdW5kZWYgRk9SX3RyYWNlcm91dGUKI3VuZGVmIEZMQUdfNAojdW5kZWYgRkxBR182CiN1bmRlZiBGTEFHX0YKI3VuZGVmIEZMQUdfVQojdW5kZWYgRkxBR19JCiN1bmRlZiBGTEFHX2wKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfcgojdW5kZWYgRkxBR19tCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfcQojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfdwojdW5kZWYgRkxBR19nCiN1bmRlZiBGTEFHX3oKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19pCiNlbmRpZgoKLy8gdHJ1ZSAgICAKI3VuZGVmIE9QVFNUUl90cnVlCiNkZWZpbmUgT1BUU1RSX3RydWUgMAojaWZkZWYgQ0xFQU5VUF90cnVlCiN1bmRlZiBDTEVBTlVQX3RydWUKI3VuZGVmIEZPUl90cnVlCiNlbmRpZgoKLy8gdHJ1bmNhdGUgPDFzOnxjIDwxczp8YwojdW5kZWYgT1BUU1RSX3RydW5jYXRlCiNkZWZpbmUgT1BUU1RSX3RydW5jYXRlICI8MXM6fGMiCiNpZmRlZiBDTEVBTlVQX3RydW5jYXRlCiN1bmRlZiBDTEVBTlVQX3RydW5jYXRlCiN1bmRlZiBGT1JfdHJ1bmNhdGUKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19zCiNlbmRpZgoKLy8gdHMgICBpbXMKI3VuZGVmIE9QVFNUUl90cwojZGVmaW5lIE9QVFNUUl90cyAiaW1zIgojaWZkZWYgQ0xFQU5VUF90cwojdW5kZWYgQ0xFQU5VUF90cwojdW5kZWYgRk9SX3RzCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR19pCiNlbmRpZgoKLy8gdHNvcnQgICA+MQojdW5kZWYgT1BUU1RSX3Rzb3J0CiNkZWZpbmUgT1BUU1RSX3Rzb3J0ICI+MSIKI2lmZGVmIENMRUFOVVBfdHNvcnQKI3VuZGVmIENMRUFOVVBfdHNvcnQKI3VuZGVmIEZPUl90c29ydAojZW5kaWYKCi8vIHR0eSAgIHMKI3VuZGVmIE9QVFNUUl90dHkKI2RlZmluZSBPUFRTVFJfdHR5ICJzIgojaWZkZWYgQ0xFQU5VUF90dHkKI3VuZGVmIENMRUFOVVBfdHR5CiN1bmRlZiBGT1JfdHR5CiN1bmRlZiBGTEFHX3MKI2VuZGlmCgovLyB0dW5jdGwgICA8MT4xdHxkfHU6VFshdGRdCiN1bmRlZiBPUFRTVFJfdHVuY3RsCiNkZWZpbmUgT1BUU1RSX3R1bmN0bCAiPDE+MXR8ZHx1OlRbIXRkXSIKI2lmZGVmIENMRUFOVVBfdHVuY3RsCiN1bmRlZiBDTEVBTlVQX3R1bmN0bAojdW5kZWYgRk9SX3R1bmN0bAojdW5kZWYgRkxBR19UCiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR190CiNlbmRpZgoKLy8gdWNsYW1wc2V0ICAgcCNhbSM8LTE+MTAyNE0jPC0xPjEwMjRSCiN1bmRlZiBPUFRTVFJfdWNsYW1wc2V0CiNkZWZpbmUgT1BUU1RSX3VjbGFtcHNldCAicCNhbSM8LTE+MTAyNE0jPC0xPjEwMjRSIgojaWZkZWYgQ0xFQU5VUF91Y2xhbXBzZXQKI3VuZGVmIENMRUFOVVBfdWNsYW1wc2V0CiN1bmRlZiBGT1JfdWNsYW1wc2V0CiN1bmRlZiBGTEFHX1IKI3VuZGVmIEZMQUdfTQojdW5kZWYgRkxBR19tCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfcAojZW5kaWYKCi8vIHVsaW1pdCAgID4xUCM8MVNIYXZ1dHNyUnFwbm1saWZlZGNbLVNIXVshYXB2dXRzclJxbm1saWZlZGNdCiN1bmRlZiBPUFRTVFJfdWxpbWl0CiNkZWZpbmUgT1BUU1RSX3VsaW1pdCAiPjFQIzwxU0hhdnV0c3JScXBubWxpZmVkY1stU0hdWyFhcHZ1dHNyUnFubWxpZmVkY10iCiNpZmRlZiBDTEVBTlVQX3VsaW1pdAojdW5kZWYgQ0xFQU5VUF91bGltaXQKI3VuZGVmIEZPUl91bGltaXQKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX2UKI3VuZGVmIEZMQUdfZgojdW5kZWYgRkxBR19pCiN1bmRlZiBGTEFHX2wKI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR19uCiN1bmRlZiBGTEFHX3AKI3VuZGVmIEZMQUdfcQojdW5kZWYgRkxBR19SCiN1bmRlZiBGTEFHX3IKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX3UKI3VuZGVmIEZMQUdfdgojdW5kZWYgRkxBR19hCiN1bmRlZiBGTEFHX0gKI3VuZGVmIEZMQUdfUwojdW5kZWYgRkxBR19QCiNlbmRpZgoKLy8gdW1vdW50ICAgY25kRGZscmF0KnZbIW5hXQojdW5kZWYgT1BUU1RSX3Vtb3VudAojZGVmaW5lIE9QVFNUUl91bW91bnQgImNuZERmbHJhdCp2WyFuYV0iCiNpZmRlZiBDTEVBTlVQX3Vtb3VudAojdW5kZWYgQ0xFQU5VUF91bW91bnQKI3VuZGVmIEZPUl91bW91bnQKI3VuZGVmIEZMQUdfdgojdW5kZWYgRkxBR190CiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfcgojdW5kZWYgRkxBR19sCiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfRAojdW5kZWYgRkxBR19kCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfYwojZW5kaWYKCi8vIHVuYW1lIHBhb212cm5zIHBhb212cm5zCiN1bmRlZiBPUFRTVFJfdW5hbWUKI2RlZmluZSBPUFRTVFJfdW5hbWUgInBhb212cm5zIgojaWZkZWYgQ0xFQU5VUF91bmFtZQojdW5kZWYgQ0xFQU5VUF91bmFtZQojdW5kZWYgRk9SX3VuYW1lCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX3YKI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR19vCiN1bmRlZiBGTEFHX2EKI3VuZGVmIEZMQUdfcAojZW5kaWYKCi8vIHVuaWNvZGUgICA8MQojdW5kZWYgT1BUU1RSX3VuaWNvZGUKI2RlZmluZSBPUFRTVFJfdW5pY29kZSAiPDEiCiNpZmRlZiBDTEVBTlVQX3VuaWNvZGUKI3VuZGVmIENMRUFOVVBfdW5pY29kZQojdW5kZWYgRk9SX3VuaWNvZGUKI2VuZGlmCgovLyB1bmlxIGYjcyN3I3ppY2R1IGYjcyN3I3ppY2R1CiN1bmRlZiBPUFRTVFJfdW5pcQojZGVmaW5lIE9QVFNUUl91bmlxICJmI3MjdyN6aWNkdSIKI2lmZGVmIENMRUFOVVBfdW5pcQojdW5kZWYgQ0xFQU5VUF91bmlxCiN1bmRlZiBGT1JfdW5pcQojdW5kZWYgRkxBR191CiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19pCiN1bmRlZiBGTEFHX3oKI3VuZGVmIEZMQUdfdwojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX2YKI2VuZGlmCgovLyB1bml4MmRvcyAgICAKI3VuZGVmIE9QVFNUUl91bml4MmRvcwojZGVmaW5lIE9QVFNUUl91bml4MmRvcyAwCiNpZmRlZiBDTEVBTlVQX3VuaXgyZG9zCiN1bmRlZiBDTEVBTlVQX3VuaXgyZG9zCiN1bmRlZiBGT1JfdW5peDJkb3MKI2VuZGlmCgovLyB1bmxpbmsgICA8MT4xCiN1bmRlZiBPUFRTVFJfdW5saW5rCiNkZWZpbmUgT1BUU1RSX3VubGluayAiPDE+MSIKI2lmZGVmIENMRUFOVVBfdW5saW5rCiN1bmRlZiBDTEVBTlVQX3VubGluawojdW5kZWYgRk9SX3VubGluawojZW5kaWYKCi8vIHVuc2V0ICAgZnZuWyFmdl0KI3VuZGVmIE9QVFNUUl91bnNldAojZGVmaW5lIE9QVFNUUl91bnNldCAiZnZuWyFmdl0iCiNpZmRlZiBDTEVBTlVQX3Vuc2V0CiN1bmRlZiBDTEVBTlVQX3Vuc2V0CiN1bmRlZiBGT1JfdW5zZXQKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR192CiN1bmRlZiBGTEFHX2YKI2VuZGlmCgovLyB1bnNoYXJlICAgPDFeYShhbGwpZihmb3JrKXIobWFwLXJvb3QtdXNlcilDKGNncm91cCk6OyBpKGlwYyk6OyBtKG1vdW50KTo7IG4obmV0KTo7IHAocGlkKTo7IHUodXRzKTo7IFUodXNlcik6OyAKI3VuZGVmIE9QVFNUUl91bnNoYXJlCiNkZWZpbmUgT1BUU1RSX3Vuc2hhcmUgIjwxXmEoYWxsKWYoZm9yaylyKG1hcC1yb290LXVzZXIpQyhjZ3JvdXApOjsgaShpcGMpOjsgbShtb3VudCk6OyBuKG5ldCk6OyBwKHBpZCk6OyB1KHV0cyk6OyBVKHVzZXIpOjsgIgojaWZkZWYgQ0xFQU5VUF91bnNoYXJlCiN1bmRlZiBDTEVBTlVQX3Vuc2hhcmUKI3VuZGVmIEZPUl91bnNoYXJlCiN1bmRlZiBGTEFHX1UKI3VuZGVmIEZMQUdfdQojdW5kZWYgRkxBR19wCiN1bmRlZiBGTEFHX24KI3VuZGVmIEZMQUdfbQojdW5kZWYgRkxBR19pCiN1bmRlZiBGTEFHX0MKI3VuZGVmIEZMQUdfcgojdW5kZWYgRkxBR19mCiN1bmRlZiBGTEFHX2EKI2VuZGlmCgovLyB1cHRpbWUgICA+MHBzCiN1bmRlZiBPUFRTVFJfdXB0aW1lCiNkZWZpbmUgT1BUU1RSX3VwdGltZSAiPjBwcyIKI2lmZGVmIENMRUFOVVBfdXB0aW1lCiN1bmRlZiBDTEVBTlVQX3VwdGltZQojdW5kZWYgRk9SX3VwdGltZQojdW5kZWYgRkxBR19zCiN1bmRlZiBGTEFHX3AKI2VuZGlmCgovLyB1c2VyYWRkICAgPDE+MnUjPDBHOnM6ZzpoOlNESAojdW5kZWYgT1BUU1RSX3VzZXJhZGQKI2RlZmluZSBPUFRTVFJfdXNlcmFkZCAiPDE+MnUjPDBHOnM6ZzpoOlNESCIKI2lmZGVmIENMRUFOVVBfdXNlcmFkZAojdW5kZWYgQ0xFQU5VUF91c2VyYWRkCiN1bmRlZiBGT1JfdXNlcmFkZAojdW5kZWYgRkxBR19ICiN1bmRlZiBGTEFHX0QKI3VuZGVmIEZMQUdfUwojdW5kZWYgRkxBR19oCiN1bmRlZiBGTEFHX2cKI3VuZGVmIEZMQUdfcwojdW5kZWYgRkxBR19HCiN1bmRlZiBGTEFHX3UKI2VuZGlmCgovLyB1c2VyZGVsICAgPDE+MXIKI3VuZGVmIE9QVFNUUl91c2VyZGVsCiNkZWZpbmUgT1BUU1RSX3VzZXJkZWwgIjwxPjFyIgojaWZkZWYgQ0xFQU5VUF91c2VyZGVsCiN1bmRlZiBDTEVBTlVQX3VzZXJkZWwKI3VuZGVmIEZPUl91c2VyZGVsCiN1bmRlZiBGTEFHX3IKI2VuZGlmCgovLyB1c2xlZXAgICA8MT4xCiN1bmRlZiBPUFRTVFJfdXNsZWVwCiNkZWZpbmUgT1BUU1RSX3VzbGVlcCAiPDE+MSIKI2lmZGVmIENMRUFOVVBfdXNsZWVwCiN1bmRlZiBDTEVBTlVQX3VzbGVlcAojdW5kZWYgRk9SX3VzbGVlcAojZW5kaWYKCi8vIHV1ZGVjb2RlICAgPjFvOgojdW5kZWYgT1BUU1RSX3V1ZGVjb2RlCiNkZWZpbmUgT1BUU1RSX3V1ZGVjb2RlICI+MW86IgojaWZkZWYgQ0xFQU5VUF91dWRlY29kZQojdW5kZWYgQ0xFQU5VUF91dWRlY29kZQojdW5kZWYgRk9SX3V1ZGVjb2RlCiN1bmRlZiBGTEFHX28KI2VuZGlmCgovLyB1dWVuY29kZSAgIDwxPjJtCiN1bmRlZiBPUFRTVFJfdXVlbmNvZGUKI2RlZmluZSBPUFRTVFJfdXVlbmNvZGUgIjwxPjJtIgojaWZkZWYgQ0xFQU5VUF91dWVuY29kZQojdW5kZWYgQ0xFQU5VUF91dWVuY29kZQojdW5kZWYgRk9SX3V1ZW5jb2RlCiN1bmRlZiBGTEFHX20KI2VuZGlmCgovLyB1dWlkZ2VuICAgPjByKHJhbmRvbSkKI3VuZGVmIE9QVFNUUl91dWlkZ2VuCiNkZWZpbmUgT1BUU1RSX3V1aWRnZW4gIj4wcihyYW5kb20pIgojaWZkZWYgQ0xFQU5VUF91dWlkZ2VuCiN1bmRlZiBDTEVBTlVQX3V1aWRnZW4KI3VuZGVmIEZPUl91dWlkZ2VuCiN1bmRlZiBGTEFHX3IKI2VuZGlmCgovLyB2Y29uZmlnICAgPDI+NAojdW5kZWYgT1BUU1RSX3Zjb25maWcKI2RlZmluZSBPUFRTVFJfdmNvbmZpZyAiPDI+NCIKI2lmZGVmIENMRUFOVVBfdmNvbmZpZwojdW5kZWYgQ0xFQU5VUF92Y29uZmlnCiN1bmRlZiBGT1JfdmNvbmZpZwojZW5kaWYKCi8vIHZpICAgPjFzOgojdW5kZWYgT1BUU1RSX3ZpCiNkZWZpbmUgT1BUU1RSX3ZpICI+MXM6IgojaWZkZWYgQ0xFQU5VUF92aQojdW5kZWYgQ0xFQU5VUF92aQojdW5kZWYgRk9SX3ZpCiN1bmRlZiBGTEFHX3MKI2VuZGlmCgovLyB2bXN0YXQgICA+Mm4KI3VuZGVmIE9QVFNUUl92bXN0YXQKI2RlZmluZSBPUFRTVFJfdm1zdGF0ICI+Mm4iCiNpZmRlZiBDTEVBTlVQX3Ztc3RhdAojdW5kZWYgQ0xFQU5VUF92bXN0YXQKI3VuZGVmIEZPUl92bXN0YXQKI3VuZGVmIEZMQUdfbgojZW5kaWYKCi8vIHcgICAgCiN1bmRlZiBPUFRTVFJfdwojZGVmaW5lIE9QVFNUUl93IDAKI2lmZGVmIENMRUFOVVBfdwojdW5kZWYgQ0xFQU5VUF93CiN1bmRlZiBGT1JfdwojZW5kaWYKCi8vIHdhaXQgICBuCiN1bmRlZiBPUFRTVFJfd2FpdAojZGVmaW5lIE9QVFNUUl93YWl0ICJuIgojaWZkZWYgQ0xFQU5VUF93YWl0CiN1bmRlZiBDTEVBTlVQX3dhaXQKI3VuZGVmIEZPUl93YWl0CiN1bmRlZiBGTEFHX24KI2VuZGlmCgovLyB3YXRjaCAgIF48MW4lPDEwMD0yMDAwdGVieAojdW5kZWYgT1BUU1RSX3dhdGNoCiNkZWZpbmUgT1BUU1RSX3dhdGNoICJePDFuJTwxMDA9MjAwMHRlYngiCiNpZmRlZiBDTEVBTlVQX3dhdGNoCiN1bmRlZiBDTEVBTlVQX3dhdGNoCiN1bmRlZiBGT1Jfd2F0Y2gKI3VuZGVmIEZMQUdfeAojdW5kZWYgRkxBR19iCiN1bmRlZiBGTEFHX2UKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR19uCiNlbmRpZgoKLy8gd2F0Y2hkb2cgICA8MT4xRnQjPTQ8MVQjPTYwPDEKI3VuZGVmIE9QVFNUUl93YXRjaGRvZwojZGVmaW5lIE9QVFNUUl93YXRjaGRvZyAiPDE+MUZ0Iz00PDFUIz02MDwxIgojaWZkZWYgQ0xFQU5VUF93YXRjaGRvZwojdW5kZWYgQ0xFQU5VUF93YXRjaGRvZwojdW5kZWYgRk9SX3dhdGNoZG9nCiN1bmRlZiBGTEFHX1QKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR19GCiNlbmRpZgoKLy8gd2MgTGNtd2wgTGNtd2wKI3VuZGVmIE9QVFNUUl93YwojZGVmaW5lIE9QVFNUUl93YyAiTGNtd2wiCiNpZmRlZiBDTEVBTlVQX3djCiN1bmRlZiBDTEVBTlVQX3djCiN1bmRlZiBGT1Jfd2MKI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR193CiN1bmRlZiBGTEFHX20KI3VuZGVmIEZMQUdfYwojdW5kZWYgRkxBR19MCiNlbmRpZgoKLy8gd2dldCAgIDwxPjEobWF4LXJlZGlyZWN0KSM8MD0yMGQoZGVidWcpTyhvdXRwdXQtZG9jdW1lbnQpOnAocG9zdC1kYXRhKToKI3VuZGVmIE9QVFNUUl93Z2V0CiNkZWZpbmUgT1BUU1RSX3dnZXQgIjwxPjEobWF4LXJlZGlyZWN0KSM8MD0yMGQoZGVidWcpTyhvdXRwdXQtZG9jdW1lbnQpOnAocG9zdC1kYXRhKToiCiNpZmRlZiBDTEVBTlVQX3dnZXQKI3VuZGVmIENMRUFOVVBfd2dldAojdW5kZWYgRk9SX3dnZXQKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19PCiN1bmRlZiBGTEFHX2QKI3VuZGVmIEZMQUdfbWF4X3JlZGlyZWN0CiNlbmRpZgoKLy8gd2hpY2ggPDFhIDwxYQojdW5kZWYgT1BUU1RSX3doaWNoCiNkZWZpbmUgT1BUU1RSX3doaWNoICI8MWEiCiNpZmRlZiBDTEVBTlVQX3doaWNoCiN1bmRlZiBDTEVBTlVQX3doaWNoCiN1bmRlZiBGT1Jfd2hpY2gKI3VuZGVmIEZMQUdfYQojZW5kaWYKCi8vIHdobyAgIGEKI3VuZGVmIE9QVFNUUl93aG8KI2RlZmluZSBPUFRTVFJfd2hvICJhIgojaWZkZWYgQ0xFQU5VUF93aG8KI3VuZGVmIENMRUFOVVBfd2hvCiN1bmRlZiBGT1Jfd2hvCiN1bmRlZiBGTEFHX2EKI2VuZGlmCgovLyB4YXJncyBeRTpQIzwwKG51bGwpPTFvcHRyKG5vLXJ1bi1pZi1lbXB0eSluIzwxKG1heC1hcmdzKXMjMFshMEVdIF5FOlAjPDAobnVsbCk9MW9wdHIobm8tcnVuLWlmLWVtcHR5KW4jPDEobWF4LWFyZ3MpcyMwWyEwRV0KI3VuZGVmIE9QVFNUUl94YXJncwojZGVmaW5lIE9QVFNUUl94YXJncyAiXkU6UCM8MChudWxsKT0xb3B0cihuby1ydW4taWYtZW1wdHkpbiM8MShtYXgtYXJncylzIzBbITBFXSIKI2lmZGVmIENMRUFOVVBfeGFyZ3MKI3VuZGVmIENMRUFOVVBfeGFyZ3MKI3VuZGVmIEZPUl94YXJncwojdW5kZWYgRkxBR18wCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfbgojdW5kZWYgRkxBR19yCiN1bmRlZiBGTEFHX3QKI3VuZGVmIEZMQUdfcAojdW5kZWYgRkxBR19vCiN1bmRlZiBGTEFHX1AKI3VuZGVmIEZMQUdfRQojZW5kaWYKCi8vIHh4ZCA+MWMjPDA+MjU2bCNvI2cjPDA9MmVpcHJzI1shcnNdWyFyZV0gPjFjIzwwPjI1NmwjbyNnIzwwPTJlaXBycyNbIXJzXVshcmVdCiN1bmRlZiBPUFRTVFJfeHhkCiNkZWZpbmUgT1BUU1RSX3h4ZCAiPjFjIzwwPjI1NmwjbyNnIzwwPTJlaXBycyNbIXJzXVshcmVdIgojaWZkZWYgQ0xFQU5VUF94eGQKI3VuZGVmIENMRUFOVVBfeHhkCiN1bmRlZiBGT1JfeHhkCiN1bmRlZiBGTEFHX3MKI3VuZGVmIEZMQUdfcgojdW5kZWYgRkxBR19wCiN1bmRlZiBGTEFHX2kKI3VuZGVmIEZMQUdfZQojdW5kZWYgRkxBR19nCiN1bmRlZiBGTEFHX28KI3VuZGVmIEZMQUdfbAojdW5kZWYgRkxBR19jCiNlbmRpZgoKLy8geHpjYXQgICAgCiN1bmRlZiBPUFRTVFJfeHpjYXQKI2RlZmluZSBPUFRTVFJfeHpjYXQgMAojaWZkZWYgQ0xFQU5VUF94emNhdAojdW5kZWYgQ0xFQU5VUF94emNhdAojdW5kZWYgRk9SX3h6Y2F0CiNlbmRpZgoKLy8geWVzICAgIAojdW5kZWYgT1BUU1RSX3llcwojZGVmaW5lIE9QVFNUUl95ZXMgMAojaWZkZWYgQ0xFQU5VUF95ZXMKI3VuZGVmIENMRUFOVVBfeWVzCiN1bmRlZiBGT1JfeWVzCiNlbmRpZgoKLy8gemNhdCBjZGZrdDEyMzQ1Njc4OVstMTIzNDU2Nzg5XSBjZGZrdDEyMzQ1Njc4OVstMTIzNDU2Nzg5XQojdW5kZWYgT1BUU1RSX3pjYXQKI2RlZmluZSBPUFRTVFJfemNhdCAiY2Rma3QxMjM0NTY3ODlbLTEyMzQ1Njc4OV0iCiNpZmRlZiBDTEVBTlVQX3pjYXQKI3VuZGVmIENMRUFOVVBfemNhdAojdW5kZWYgRk9SX3pjYXQKI3VuZGVmIEZMQUdfOQojdW5kZWYgRkxBR184CiN1bmRlZiBGTEFHXzcKI3VuZGVmIEZMQUdfNgojdW5kZWYgRkxBR181CiN1bmRlZiBGTEFHXzQKI3VuZGVmIEZMQUdfMwojdW5kZWYgRkxBR18yCiN1bmRlZiBGTEFHXzEKI3VuZGVmIEZMQUdfdAojdW5kZWYgRkxBR19rCiN1bmRlZiBGTEFHX2YKI3VuZGVmIEZMQUdfZAojdW5kZWYgRkxBR19jCiNlbmRpZgoKI2lmZGVmIEZPUl9hY3BpCiNkZWZpbmUgQ0xFQU5VUF9hY3BpCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmFjcGkKI2VuZGlmCiNkZWZpbmUgRkxBR19WIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfYyAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19iIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX2EgKEZPUkNFRF9GTEFHPDw0KQojZW5kaWYKCiNpZmRlZiBGT1JfYXJjaAojZGVmaW5lIENMRUFOVVBfYXJjaAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5hcmNoCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfYXJwCiNkZWZpbmUgQ0xFQU5VUF9hcnAKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuYXJwCiNlbmRpZgojZGVmaW5lIEZMQUdfSCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19BIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfYSAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19kIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfRCAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX2kgKEZPUkNFRF9GTEFHPDw4KQojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDkpCiNlbmRpZgoKI2lmZGVmIEZPUl9hcnBpbmcKI2RlZmluZSBDTEVBTlVQX2FycGluZwojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5hcnBpbmcKI2VuZGlmCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3EgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfYiAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19EIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX1UgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfQSAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8NikKI2RlZmluZSBGTEFHX3cgKEZPUkNFRF9GTEFHPDw3KQojZGVmaW5lIEZMQUdfSSAoRk9SQ0VEX0ZMQUc8PDgpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8OSkKI2VuZGlmCgojaWZkZWYgRk9SX2FzY2lpCiNkZWZpbmUgQ0xFQU5VUF9hc2NpaQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5hc2NpaQojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2Jhc2UzMgojZGVmaW5lIENMRUFOVVBfYmFzZTMyCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmJhc2UzMgojZW5kaWYKI2RlZmluZSBGTEFHX3cgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfaSAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19kIChGT1JDRURfRkxBRzw8MikKI2VuZGlmCgojaWZkZWYgRk9SX2Jhc2U2NAojZGVmaW5lIENMRUFOVVBfYmFzZTY0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmJhc2U2NAojZW5kaWYKI2RlZmluZSBGTEFHX3cgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfaSAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19kIChGT1JDRURfRkxBRzw8MikKI2VuZGlmCgojaWZkZWYgRk9SX2Jhc2VuYW1lCiNkZWZpbmUgQ0xFQU5VUF9iYXNlbmFtZQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5iYXNlbmFtZQojZW5kaWYKI2RlZmluZSBGTEFHX3MgKDFMTDw8MCkKI2RlZmluZSBGTEFHX2EgKDFMTDw8MSkKI2VuZGlmCgojaWZkZWYgRk9SX2JjCiNkZWZpbmUgQ0xFQU5VUF9iYwojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5iYwojZW5kaWYKI2RlZmluZSBGTEFHX3cgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19xIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX2wgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfaSAoRk9SQ0VEX0ZMQUc8PDQpCiNlbmRpZgoKI2lmZGVmIEZPUl9ibGtkaXNjYXJkCiNkZWZpbmUgQ0xFQU5VUF9ibGtkaXNjYXJkCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmJsa2Rpc2NhcmQKI2VuZGlmCiNkZWZpbmUgRkxBR196IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfbyAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDw0KQojZW5kaWYKCiNpZmRlZiBGT1JfYmxraWQKI2RlZmluZSBDTEVBTlVQX2Jsa2lkCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmJsa2lkCiNlbmRpZgojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19vIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX0wgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfVSAoRk9SQ0VEX0ZMQUc8PDMpCiNlbmRpZgoKI2lmZGVmIEZPUl9ibG9ja2RldgojZGVmaW5lIENMRUFOVVBfYmxvY2tkZXYKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuYmxvY2tkZXYKI2VuZGlmCiNkZWZpbmUgRkxBR19yZXJlYWRwdCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19mbHVzaGJ1ZnMgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfc2V0cmEgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfZ2V0cmEgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfZ2V0c2l6ZTY0IChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX2dldHNpemUgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfZ2V0c3ogKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfc2V0YnN6IChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX2dldGJzeiAoRk9SQ0VEX0ZMQUc8PDgpCiNkZWZpbmUgRkxBR19nZXRzcyAoRk9SQ0VEX0ZMQUc8PDkpCiNkZWZpbmUgRkxBR19nZXRybyAoRk9SQ0VEX0ZMQUc8PDEwKQojZGVmaW5lIEZMQUdfc2V0cncgKEZPUkNFRF9GTEFHPDwxMSkKI2RlZmluZSBGTEFHX3NldHJvIChGT1JDRURfRkxBRzw8MTIpCiNlbmRpZgoKI2lmZGVmIEZPUl9ib290Y2hhcnRkCiNkZWZpbmUgQ0xFQU5VUF9ib290Y2hhcnRkCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmJvb3RjaGFydGQKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9icmN0bAojZGVmaW5lIENMRUFOVVBfYnJjdGwKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuYnJjdGwKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9idW56aXAyCiNkZWZpbmUgQ0xFQU5VUF9idW56aXAyCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmJ1bnppcDIKI2VuZGlmCiNkZWZpbmUgRkxBR192IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2sgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfdCAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX2MgKEZPUkNFRF9GTEFHPDw0KQojZW5kaWYKCiNpZmRlZiBGT1JfYnpjYXQKI2RlZmluZSBDTEVBTlVQX2J6Y2F0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmJ6Y2F0CiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfY2FsCiNkZWZpbmUgQ0xFQU5VUF9jYWwKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuY2FsCiNlbmRpZgojZGVmaW5lIEZMQUdfaCAoRk9SQ0VEX0ZMQUc8PDApCiNlbmRpZgoKI2lmZGVmIEZPUl9jYXQKI2RlZmluZSBDTEVBTlVQX2NhdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5jYXQKI2VuZGlmCiNkZWZpbmUgRkxBR19lICgxTEw8PDApCiNkZWZpbmUgRkxBR190ICgxTEw8PDEpCiNkZWZpbmUgRkxBR192ICgxTEw8PDIpCiNkZWZpbmUgRkxBR191ICgxTEw8PDMpCiNlbmRpZgoKI2lmZGVmIEZPUl9jZAojZGVmaW5lIENMRUFOVVBfY2QKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuY2QKI2VuZGlmCiNkZWZpbmUgRkxBR19QIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX0wgKEZPUkNFRF9GTEFHPDwxKQojZW5kaWYKCiNpZmRlZiBGT1JfY2hhdHRyCiNkZWZpbmUgQ0xFQU5VUF9jaGF0dHIKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuY2hhdHRyCiNlbmRpZgojZGVmaW5lIEZMQUdfUiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR192IChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDwyKQojZW5kaWYKCiNpZmRlZiBGT1JfY2hjb24KI2RlZmluZSBDTEVBTlVQX2NoY29uCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmNoY29uCiNlbmRpZgojZGVmaW5lIEZMQUdfUiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR192IChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX2ggKEZPUkNFRF9GTEFHPDwyKQojZW5kaWYKCiNpZmRlZiBGT1JfY2hncnAKI2RlZmluZSBDTEVBTlVQX2NoZ3JwCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmNoZ3JwCiNlbmRpZgojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX1IgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfSCAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19MIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX1AgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfaCAoRk9SQ0VEX0ZMQUc8PDYpCiNlbmRpZgoKI2lmZGVmIEZPUl9jaG1vZAojZGVmaW5lIENMRUFOVVBfY2htb2QKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuY2htb2QKI2VuZGlmCiNkZWZpbmUgRkxBR19SICgxTEw8PDApCiNkZWZpbmUgRkxBR19mICgxTEw8PDEpCiNkZWZpbmUgRkxBR192ICgxTEw8PDIpCiNlbmRpZgoKI2lmZGVmIEZPUl9jaHJvb3QKI2RlZmluZSBDTEVBTlVQX2Nocm9vdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5jaHJvb3QKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9jaHJ0CiNkZWZpbmUgQ0xFQU5VUF9jaHJ0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmNocnQKI2VuZGlmCiNkZWZpbmUgRkxBR19vIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19iIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX1IgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfaSAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8NikKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDw3KQojZW5kaWYKCiNpZmRlZiBGT1JfY2hzaAojZGVmaW5lIENMRUFOVVBfY2hzaAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5jaHNoCiNlbmRpZgojZGVmaW5lIEZMQUdfYSAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX1IgKEZPUkNFRF9GTEFHPDwyKQojZW5kaWYKCiNpZmRlZiBGT1JfY2h2dAojZGVmaW5lIENMRUFOVVBfY2h2dAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5jaHZ0CiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfY2tzdW0KI2RlZmluZSBDTEVBTlVQX2Nrc3VtCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmNrc3VtCiNlbmRpZgojZGVmaW5lIEZMQUdfTiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19MIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX1AgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfSSAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19IIChGT1JDRURfRkxBRzw8NCkKI2VuZGlmCgojaWZkZWYgRk9SX2NsZWFyCiNkZWZpbmUgQ0xFQU5VUF9jbGVhcgojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5jbGVhcgojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2NtcAojZGVmaW5lIENMRUFOVVBfY21wCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmNtcAojZW5kaWYKI2RlZmluZSBGTEFHX24gKDFMTDw8MCkKI2RlZmluZSBGTEFHX3MgKDFMTDw8MSkKI2RlZmluZSBGTEFHX2wgKDFMTDw8MikKI2VuZGlmCgojaWZkZWYgRk9SX2NvbW0KI2RlZmluZSBDTEVBTlVQX2NvbW0KI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuY29tbQojZW5kaWYKI2RlZmluZSBGTEFHXzEgKDFMTDw8MCkKI2RlZmluZSBGTEFHXzIgKDFMTDw8MSkKI2RlZmluZSBGTEFHXzMgKDFMTDw8MikKI2VuZGlmCgojaWZkZWYgRk9SX2NvdW50CiNkZWZpbmUgQ0xFQU5VUF9jb3VudAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5jb3VudAojZW5kaWYKI2RlZmluZSBGTEFHX2wgKEZPUkNFRF9GTEFHPDwwKQojZW5kaWYKCiNpZmRlZiBGT1JfY3AKI2RlZmluZSBDTEVBTlVQX2NwCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmNwCiNlbmRpZgojZGVmaW5lIEZMQUdfVCAoMUxMPDwwKQojZGVmaW5lIEZMQUdfdCAoMUxMPDwxKQojZGVmaW5lIEZMQUdfaSAoMUxMPDwyKQojZGVmaW5lIEZMQUdfZiAoMUxMPDwzKQojZGVmaW5lIEZMQUdfRiAoMUxMPDw0KQojZGVmaW5lIEZMQUdfbiAoMUxMPDw1KQojZGVmaW5lIEZMQUdfdiAoMUxMPDw2KQojZGVmaW5lIEZMQUdfbCAoMUxMPDw3KQojZGVmaW5lIEZMQUdfcyAoMUxMPDw4KQojZGVmaW5lIEZMQUdfYSAoMUxMPDw5KQojZGVmaW5lIEZMQUdfZCAoMUxMPDwxMCkKI2RlZmluZSBGTEFHX3UgKDFMTDw8MTEpCiNkZWZpbmUgRkxBR19yICgxTEw8PDEyKQojZGVmaW5lIEZMQUdfcCAoMUxMPDwxMykKI2RlZmluZSBGTEFHX1AgKDFMTDw8MTQpCiNkZWZpbmUgRkxBR19MICgxTEw8PDE1KQojZGVmaW5lIEZMQUdfSCAoMUxMPDwxNikKI2RlZmluZSBGTEFHX1IgKDFMTDw8MTcpCiNkZWZpbmUgRkxBR19EICgxTEw8PDE4KQojZGVmaW5lIEZMQUdfcHJlc2VydmUgKDFMTDw8MTkpCiNlbmRpZgoKI2lmZGVmIEZPUl9jcGlvCiNkZWZpbmUgQ0xFQU5VUF9jcGlvCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmNwaW8KI2VuZGlmCiNkZWZpbmUgRkxBR19vICgxTEw8PDApCiNkZWZpbmUgRkxBR192ICgxTEw8PDEpCiNkZWZpbmUgRkxBR19GICgxTEw8PDIpCiNkZWZpbmUgRkxBR190ICgxTEw8PDMpCiNkZWZpbmUgRkxBR19pICgxTEw8PDQpCiNkZWZpbmUgRkxBR19wICgxTEw8PDUpCiNkZWZpbmUgRkxBR19IICgxTEw8PDYpCiNkZWZpbmUgRkxBR19MICgxTEw8PDcpCiNkZWZpbmUgRkxBR191ICgxTEw8PDgpCiNkZWZpbmUgRkxBR19kICgxTEw8PDkpCiNkZWZpbmUgRkxBR19tICgxTEw8PDEwKQojZGVmaW5lIEZMQUdfUiAoMUxMPDwxMSkKI2RlZmluZSBGTEFHX25vX3ByZXNlcnZlX293bmVyICgxTEw8PDEyKQojZGVmaW5lIEZMQUdfcXVpZXQgKDFMTDw8MTMpCiNkZWZpbmUgRkxBR19yZW51bWJlcl9pbm9kZXMgKDFMTDw8MTQpCiNkZWZpbmUgRkxBR19pZ25vcmVfZGV2bm8gKDFMTDw8MTUpCiNlbmRpZgoKI2lmZGVmIEZPUl9jcmMzMgojZGVmaW5lIENMRUFOVVBfY3JjMzIKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuY3JjMzIKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9jcm9uZAojZGVmaW5lIENMRUFOVVBfY3JvbmQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuY3JvbmQKI2VuZGlmCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX0wgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX1MgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfYiAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8NikKI2VuZGlmCgojaWZkZWYgRk9SX2Nyb250YWIKI2RlZmluZSBDTEVBTlVQX2Nyb250YWIKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuY3JvbnRhYgojZW5kaWYKI2RlZmluZSBGTEFHX3IgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19lIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX3UgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfYyAoRk9SQ0VEX0ZMQUc8PDQpCiNlbmRpZgoKI2lmZGVmIEZPUl9jc3BsaXQKI2RlZmluZSBDTEVBTlVQX2NzcGxpdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5jc3BsaXQKI2VuZGlmCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfayAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MykKI2VuZGlmCgojaWZkZWYgRk9SX2N1dAojZGVmaW5lIENMRUFOVVBfY3V0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmN1dAojZW5kaWYKI2RlZmluZSBGTEFHX24gKDFMTDw8MCkKI2RlZmluZSBGTEFHX0QgKDFMTDw8MSkKI2RlZmluZSBGTEFHX3MgKDFMTDw8MikKI2RlZmluZSBGTEFHX2QgKDFMTDw8MykKI2RlZmluZSBGTEFHX08gKDFMTDw8NCkKI2RlZmluZSBGTEFHX0MgKDFMTDw8NSkKI2RlZmluZSBGTEFHX0YgKDFMTDw8NikKI2RlZmluZSBGTEFHX2YgKDFMTDw8NykKI2RlZmluZSBGTEFHX2MgKDFMTDw8OCkKI2RlZmluZSBGTEFHX2IgKDFMTDw8OSkKI2VuZGlmCgojaWZkZWYgRk9SX2RhdGUKI2RlZmluZSBDTEVBTlVQX2RhdGUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZGF0ZQojZW5kaWYKI2RlZmluZSBGTEFHX3UgKDFMTDw8MCkKI2RlZmluZSBGTEFHX3MgKDFMTDw8MSkKI2RlZmluZSBGTEFHX3IgKDFMTDw8MikKI2RlZmluZSBGTEFHX0kgKDFMTDw8MykKI2RlZmluZSBGTEFHX0QgKDFMTDw8NCkKI2RlZmluZSBGTEFHX2QgKDFMTDw8NSkKI2VuZGlmCgojaWZkZWYgRk9SX2RkCiNkZWZpbmUgQ0xFQU5VUF9kZAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5kZAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2RlYWxsb2N2dAojZGVmaW5lIENMRUFOVVBfZGVhbGxvY3Z0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmRlYWxsb2N2dAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2RlY2xhcmUKI2RlZmluZSBDTEVBTlVQX2RlY2xhcmUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZGVjbGFyZQojZW5kaWYKI2RlZmluZSBGTEFHX3IgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfeCAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX3UgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19pIChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX2EgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfQSAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8OCkKI2VuZGlmCgojaWZkZWYgRk9SX2RlbW9fbWFueV9vcHRpb25zCiNkZWZpbmUgQ0xFQU5VUF9kZW1vX21hbnlfb3B0aW9ucwojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5kZW1vX21hbnlfb3B0aW9ucwojZW5kaWYKI2RlZmluZSBGTEFHX2EgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfYiAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX2QgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfZSAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX2cgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfaCAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR19pIChGT1JDRURfRkxBRzw8OCkKI2RlZmluZSBGTEFHX2ogKEZPUkNFRF9GTEFHPDw5KQojZGVmaW5lIEZMQUdfayAoRk9SQ0VEX0ZMQUc8PDEwKQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDExKQojZGVmaW5lIEZMQUdfbSAoRk9SQ0VEX0ZMQUc8PDEyKQojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDEzKQojZGVmaW5lIEZMQUdfbyAoRk9SQ0VEX0ZMQUc8PDE0KQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDE1KQojZGVmaW5lIEZMQUdfcSAoRk9SQ0VEX0ZMQUc8PDE2KQojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDE3KQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDE4KQojZGVmaW5lIEZMQUdfdCAoRk9SQ0VEX0ZMQUc8PDE5KQojZGVmaW5lIEZMQUdfdSAoRk9SQ0VEX0ZMQUc8PDIwKQojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDIxKQojZGVmaW5lIEZMQUdfdyAoRk9SQ0VEX0ZMQUc8PDIyKQojZGVmaW5lIEZMQUdfeCAoRk9SQ0VEX0ZMQUc8PDIzKQojZGVmaW5lIEZMQUdfeSAoRk9SQ0VEX0ZMQUc8PDI0KQojZGVmaW5lIEZMQUdfeiAoRk9SQ0VEX0ZMQUc8PDI1KQojZGVmaW5lIEZMQUdfQSAoRk9SQ0VEX0ZMQUc8PDI2KQojZGVmaW5lIEZMQUdfQiAoRk9SQ0VEX0ZMQUc8PDI3KQojZGVmaW5lIEZMQUdfQyAoRk9SQ0VEX0ZMQUc8PDI4KQojZGVmaW5lIEZMQUdfRCAoRk9SQ0VEX0ZMQUc8PDI5KQojZGVmaW5lIEZMQUdfRSAoRk9SQ0VEX0ZMQUc8PDMwKQojZGVmaW5lIEZMQUdfRiAoRk9SQ0VEX0ZMQUc8PDMxKQojZGVmaW5lIEZMQUdfRyAoRk9SQ0VEX0ZMQUc8PDMyKQojZGVmaW5lIEZMQUdfSCAoRk9SQ0VEX0ZMQUc8PDMzKQojZGVmaW5lIEZMQUdfSSAoRk9SQ0VEX0ZMQUc8PDM0KQojZGVmaW5lIEZMQUdfSiAoRk9SQ0VEX0ZMQUc8PDM1KQojZGVmaW5lIEZMQUdfSyAoRk9SQ0VEX0ZMQUc8PDM2KQojZGVmaW5lIEZMQUdfTCAoRk9SQ0VEX0ZMQUc8PDM3KQojZGVmaW5lIEZMQUdfTSAoRk9SQ0VEX0ZMQUc8PDM4KQojZGVmaW5lIEZMQUdfTiAoRk9SQ0VEX0ZMQUc8PDM5KQojZGVmaW5lIEZMQUdfTyAoRk9SQ0VEX0ZMQUc8PDQwKQojZGVmaW5lIEZMQUdfUCAoRk9SQ0VEX0ZMQUc8PDQxKQojZGVmaW5lIEZMQUdfUSAoRk9SQ0VEX0ZMQUc8PDQyKQojZGVmaW5lIEZMQUdfUiAoRk9SQ0VEX0ZMQUc8PDQzKQojZGVmaW5lIEZMQUdfUyAoRk9SQ0VEX0ZMQUc8PDQ0KQojZGVmaW5lIEZMQUdfVCAoRk9SQ0VEX0ZMQUc8PDQ1KQojZGVmaW5lIEZMQUdfVSAoRk9SQ0VEX0ZMQUc8PDQ2KQojZGVmaW5lIEZMQUdfViAoRk9SQ0VEX0ZMQUc8PDQ3KQojZGVmaW5lIEZMQUdfVyAoRk9SQ0VEX0ZMQUc8PDQ4KQojZGVmaW5lIEZMQUdfWCAoRk9SQ0VEX0ZMQUc8PDQ5KQojZGVmaW5lIEZMQUdfWSAoRk9SQ0VEX0ZMQUc8PDUwKQojZGVmaW5lIEZMQUdfWiAoRk9SQ0VEX0ZMQUc8PDUxKQojZW5kaWYKCiNpZmRlZiBGT1JfZGVtb19udW1iZXIKI2RlZmluZSBDTEVBTlVQX2RlbW9fbnVtYmVyCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmRlbW9fbnVtYmVyCiNlbmRpZgojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19iIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX2QgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfYyAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19oIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX00gKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfRCAoRk9SQ0VEX0ZMQUc8PDYpCiNlbmRpZgoKI2lmZGVmIEZPUl9kZW1vX3NjYW5rZXkKI2RlZmluZSBDTEVBTlVQX2RlbW9fc2NhbmtleQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5kZW1vX3NjYW5rZXkKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9kZW1vX3V0Zjh0b3djCiNkZWZpbmUgQ0xFQU5VUF9kZW1vX3V0Zjh0b3djCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmRlbW9fdXRmOHRvd2MKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9kZXZtZW0KI2RlZmluZSBDTEVBTlVQX2Rldm1lbQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5kZXZtZW0KI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9kZgojZGVmaW5lIENMRUFOVVBfZGYKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZGYKI2VuZGlmCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfaSAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19oIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX2sgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfUCAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR19IIChGT1JDRURfRkxBRzw8NikKI2VuZGlmCgojaWZkZWYgRk9SX2RoY3AKI2RlZmluZSBDTEVBTlVQX2RoY3AKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZGhjcAojZW5kaWYKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfYiAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX3EgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19vIChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX2EgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfQyAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR19SIChGT1JDRURfRkxBRzw8OCkKI2RlZmluZSBGTEFHX0IgKEZPUkNFRF9GTEFHPDw5KQojZGVmaW5lIEZMQUdfUyAoRk9SQ0VEX0ZMQUc8PDEwKQojZGVmaW5lIEZMQUdfaSAoRk9SQ0VEX0ZMQUc8PDExKQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDEyKQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDEzKQojZGVmaW5lIEZMQUdfdCAoRk9SQ0VEX0ZMQUc8PDE0KQojZGVmaW5lIEZMQUdfVCAoRk9SQ0VEX0ZMQUc8PDE1KQojZGVmaW5lIEZMQUdfQSAoRk9SQ0VEX0ZMQUc8PDE2KQojZGVmaW5lIEZMQUdfTyAoRk9SQ0VEX0ZMQUc8PDE3KQojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDE4KQojZGVmaW5lIEZMQUdfeCAoRk9SQ0VEX0ZMQUc8PDE5KQojZGVmaW5lIEZMQUdfRiAoRk9SQ0VEX0ZMQUc8PDIwKQojZGVmaW5lIEZMQUdfSCAoRk9SQ0VEX0ZMQUc8PDIxKQojZGVmaW5lIEZMQUdfViAoRk9SQ0VEX0ZMQUc8PDIyKQojZW5kaWYKCiNpZmRlZiBGT1JfZGhjcDYKI2RlZmluZSBDTEVBTlVQX2RoY3A2CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmRoY3A2CiNlbmRpZgojZGVmaW5lIEZMQUdfZiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19iIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfcSAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR192IChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX1IgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfUyAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19pIChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDw4KQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDkpCiNkZWZpbmUgRkxBR190IChGT1JDRURfRkxBRzw8MTApCiNkZWZpbmUgRkxBR19UIChGT1JDRURfRkxBRzw8MTEpCiNkZWZpbmUgRkxBR19BIChGT1JDRURfRkxBRzw8MTIpCiNkZWZpbmUgRkxBR19yIChGT1JDRURfRkxBRzw8MTMpCiNlbmRpZgoKI2lmZGVmIEZPUl9kaGNwZAojZGVmaW5lIENMRUFOVVBfZGhjcGQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZGhjcGQKI2VuZGlmCiNkZWZpbmUgRkxBR182IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHXzQgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfUyAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19pIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfUCAoRk9SQ0VEX0ZMQUc8PDUpCiNlbmRpZgoKI2lmZGVmIEZPUl9kaWZmCiNkZWZpbmUgQ0xFQU5VUF9kaWZmCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmRpZmYKI2VuZGlmCiNkZWZpbmUgRkxBR19VICgxTEw8PDApCiNkZWZpbmUgRkxBR19yICgxTEw8PDEpCiNkZWZpbmUgRkxBR19OICgxTEw8PDIpCiNkZWZpbmUgRkxBR19MICgxTEw8PDMpCiNkZWZpbmUgRkxBR19GICgxTEw8PDQpCiNkZWZpbmUgRkxBR19TICgxTEw8PDUpCiNkZWZpbmUgRkxBR19hICgxTEw8PDYpCiNkZWZpbmUgRkxBR19xICgxTEw8PDcpCiNkZWZpbmUgRkxBR19zICgxTEw8PDgpCiNkZWZpbmUgRkxBR19UICgxTEw8PDkpCiNkZWZpbmUgRkxBR19pICgxTEw8PDEwKQojZGVmaW5lIEZMQUdfdyAoMUxMPDwxMSkKI2RlZmluZSBGTEFHX3QgKDFMTDw8MTIpCiNkZWZpbmUgRkxBR191ICgxTEw8PDEzKQojZGVmaW5lIEZMQUdfYiAoMUxMPDwxNCkKI2RlZmluZSBGTEFHX2QgKDFMTDw8MTUpCiNkZWZpbmUgRkxBR19CICgxTEw8PDE2KQojZGVmaW5lIEZMQUdfc3RyaXBfdHJhaWxpbmdfY3IgKDFMTDw8MTcpCiNkZWZpbmUgRkxBR19jb2xvciAoMUxMPDwxOCkKI2RlZmluZSBGTEFHX25ld19saW5lX2Zvcm1hdCAoMUxMPDwxOSkKI2RlZmluZSBGTEFHX29sZF9saW5lX2Zvcm1hdCAoMUxMPDwyMCkKI2RlZmluZSBGTEFHX3VuY2hhbmdlZF9saW5lX2Zvcm1hdCAoMUxMPDwyMSkKI2VuZGlmCgojaWZkZWYgRk9SX2Rpcm5hbWUKI2RlZmluZSBDTEVBTlVQX2Rpcm5hbWUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZGlybmFtZQojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2RtZXNnCiNkZWZpbmUgQ0xFQU5VUF9kbWVzZwojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5kbWVzZwojZW5kaWYKI2RlZmluZSBGTEFHX2MgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX3IgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfdCAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19UIChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX1MgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfQyAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR193IChGT1JDRURfRkxBRzw8OCkKI2VuZGlmCgojaWZkZWYgRk9SX2Ruc2RvbWFpbm5hbWUKI2RlZmluZSBDTEVBTlVQX2Ruc2RvbWFpbm5hbWUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZG5zZG9tYWlubmFtZQojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2RvczJ1bml4CiNkZWZpbmUgQ0xFQU5VUF9kb3MydW5peAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5kb3MydW5peAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2R1CiNkZWZpbmUgQ0xFQU5VUF9kdQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5kdQojZW5kaWYKI2RlZmluZSBGTEFHX2IgKDFMTDw8MCkKI2RlZmluZSBGTEFHX3ggKDFMTDw8MSkKI2RlZmluZSBGTEFHX3MgKDFMTDw8MikKI2RlZmluZSBGTEFHX0wgKDFMTDw8MykKI2RlZmluZSBGTEFHX0sgKDFMTDw8NCkKI2RlZmluZSBGTEFHX2sgKDFMTDw8NSkKI2RlZmluZSBGTEFHX0ggKDFMTDw8NikKI2RlZmluZSBGTEFHX2EgKDFMTDw8NykKI2RlZmluZSBGTEFHX2MgKDFMTDw8OCkKI2RlZmluZSBGTEFHX2wgKDFMTDw8OSkKI2RlZmluZSBGTEFHX20gKDFMTDw8MTApCiNkZWZpbmUgRkxBR19oICgxTEw8PDExKQojZGVmaW5lIEZMQUdfZCAoMUxMPDwxMikKI2VuZGlmCgojaWZkZWYgRk9SX2R1bXBsZWFzZXMKI2RlZmluZSBDTEVBTlVQX2R1bXBsZWFzZXMKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZHVtcGxlYXNlcwojZW5kaWYKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8MikKI2VuZGlmCgojaWZkZWYgRk9SX2VjaG8KI2RlZmluZSBDTEVBTlVQX2VjaG8KI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZWNobwojZW5kaWYKI2RlZmluZSBGTEFHX24gKDFMTDw8MCkKI2RlZmluZSBGTEFHX2UgKDFMTDw8MSkKI2RlZmluZSBGTEFHX0UgKDFMTDw8MikKI2VuZGlmCgojaWZkZWYgRk9SX2VqZWN0CiNkZWZpbmUgQ0xFQU5VUF9lamVjdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5lamVjdAojZW5kaWYKI2RlZmluZSBGTEFHX1QgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfdCAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MikKI2VuZGlmCgojaWZkZWYgRk9SX2VudgojZGVmaW5lIENMRUFOVVBfZW52CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmVudgojZW5kaWYKI2RlZmluZSBGTEFHX3UgKDFMTDw8MCkKI2RlZmluZSBGTEFHXzAgKDFMTDw8MSkKI2RlZmluZSBGTEFHX2kgKDFMTDw8MikKI2RlZmluZSBGTEFHX2UgKDFMTDw8MykKI2VuZGlmCgojaWZkZWYgRk9SX2V2YWwKI2RlZmluZSBDTEVBTlVQX2V2YWwKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZXZhbAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2V4ZWMKI2RlZmluZSBDTEVBTlVQX2V4ZWMKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZXhlYwojZW5kaWYKI2RlZmluZSBGTEFHX2EgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8MikKI2VuZGlmCgojaWZkZWYgRk9SX2V4aXQKI2RlZmluZSBDTEVBTlVQX2V4aXQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZXhpdAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2V4cGFuZAojZGVmaW5lIENMRUFOVVBfZXhwYW5kCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmV4cGFuZAojZW5kaWYKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDwwKQojZW5kaWYKCiNpZmRlZiBGT1JfZXhwb3J0CiNkZWZpbmUgQ0xFQU5VUF9leHBvcnQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZXhwb3J0CiNlbmRpZgojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MSkKI2VuZGlmCgojaWZkZWYgRk9SX2V4cHIKI2RlZmluZSBDTEVBTlVQX2V4cHIKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZXhwcgojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2ZhY3RvcgojZGVmaW5lIENMRUFOVVBfZmFjdG9yCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmZhY3RvcgojZW5kaWYKI2RlZmluZSBGTEFHX3ggKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfaCAoRk9SQ0VEX0ZMQUc8PDEpCiNlbmRpZgoKI2lmZGVmIEZPUl9mYWxsb2NhdGUKI2RlZmluZSBDTEVBTlVQX2ZhbGxvY2F0ZQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5mYWxsb2NhdGUKI2VuZGlmCiNkZWZpbmUgRkxBR19vIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2wgKEZPUkNFRF9GTEFHPDwxKQojZW5kaWYKCiNpZmRlZiBGT1JfZmFsc2UKI2RlZmluZSBDTEVBTlVQX2ZhbHNlCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmZhbHNlCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfZmRpc2sKI2RlZmluZSBDTEVBTlVQX2ZkaXNrCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmZkaXNrCiNlbmRpZgojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR191IChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX2IgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfUyAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19IIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX0MgKEZPUkNFRF9GTEFHPDw1KQojZW5kaWYKCiNpZmRlZiBGT1JfZmlsZQojZGVmaW5lIENMRUFOVVBfZmlsZQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5maWxlCiNlbmRpZgojZGVmaW5lIEZMQUdfcyAoMUxMPDwwKQojZGVmaW5lIEZMQUdfTCAoMUxMPDwxKQojZGVmaW5lIEZMQUdfaCAoMUxMPDwyKQojZGVmaW5lIEZMQUdfYiAoMUxMPDwzKQojZW5kaWYKCiNpZmRlZiBGT1JfZmluZAojZGVmaW5lIENMRUFOVVBfZmluZAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5maW5kCiNlbmRpZgojZGVmaW5lIEZMQUdfTCAoMUxMPDwwKQojZGVmaW5lIEZMQUdfSCAoMUxMPDwxKQojZW5kaWYKCiNpZmRlZiBGT1JfZmxvY2sKI2RlZmluZSBDTEVBTlVQX2Zsb2NrCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmZsb2NrCiNlbmRpZgojZGVmaW5lIEZMQUdfeCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR191IChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDMpCiNlbmRpZgoKI2lmZGVmIEZPUl9mbXQKI2RlZmluZSBDTEVBTlVQX2ZtdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5mbXQKI2VuZGlmCiNkZWZpbmUgRkxBR193IChGT1JDRURfRkxBRzw8MCkKI2VuZGlmCgojaWZkZWYgRk9SX2ZvbGQKI2RlZmluZSBDTEVBTlVQX2ZvbGQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZm9sZAojZW5kaWYKI2RlZmluZSBGTEFHX3cgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19iIChGT1JDRURfRkxBRzw8MikKI2VuZGlmCgojaWZkZWYgRk9SX2ZyZWUKI2RlZmluZSBDTEVBTlVQX2ZyZWUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZnJlZQojZW5kaWYKI2RlZmluZSBGTEFHX2IgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfayAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19tIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX2cgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfaCAoRk9SQ0VEX0ZMQUc8PDQpCiNlbmRpZgoKI2lmZGVmIEZPUl9mcmVlcmFtZGlzawojZGVmaW5lIENMRUFOVVBfZnJlZXJhbWRpc2sKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZnJlZXJhbWRpc2sKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9mc2NrCiNkZWZpbmUgQ0xFQU5VUF9mc2NrCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmZzY2sKI2VuZGlmCiNkZWZpbmUgRkxBR19DIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfViAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19UIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX1IgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfUCAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR19OIChGT1JDRURfRkxBRzw8NikKI2RlZmluZSBGTEFHX0EgKEZPUkNFRF9GTEFHPDw3KQojZGVmaW5lIEZMQUdfdCAoRk9SQ0VEX0ZMQUc8PDgpCiNlbmRpZgoKI2lmZGVmIEZPUl9mc2ZyZWV6ZQojZGVmaW5lIENMRUFOVVBfZnNmcmVlemUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZnNmcmVlemUKI2VuZGlmCiNkZWZpbmUgRkxBR191IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDwxKQojZW5kaWYKCiNpZmRlZiBGT1JfZnN0eXBlCiNkZWZpbmUgQ0xFQU5VUF9mc3R5cGUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZnN0eXBlCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfZnN5bmMKI2RlZmluZSBDTEVBTlVQX2ZzeW5jCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmZzeW5jCiNlbmRpZgojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDApCiNlbmRpZgoKI2lmZGVmIEZPUl9mdHBnZXQKI2RlZmluZSBDTEVBTlVQX2Z0cGdldAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5mdHBnZXQKI2VuZGlmCiNkZWZpbmUgRkxBR19EIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2QgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfTSAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19tIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX0wgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8NikKI2RlZmluZSBGTEFHX2cgKEZPUkNFRF9GTEFHPDw3KQojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDgpCiNkZWZpbmUgRkxBR191IChGT1JDRURfRkxBRzw8OSkKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDwxMCkKI2RlZmluZSBGTEFHX2MgKEZPUkNFRF9GTEFHPDwxMSkKI2RlZmluZSBGTEFHX1AgKEZPUkNFRF9GTEFHPDwxMikKI2VuZGlmCgojaWZkZWYgRk9SX2dldGNvbmYKI2RlZmluZSBDTEVBTlVQX2dldGNvbmYKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZ2V0Y29uZgojZW5kaWYKI2RlZmluZSBGTEFHX2wgKDFMTDw8MCkKI2RlZmluZSBGTEFHX2EgKDFMTDw8MSkKI2VuZGlmCgojaWZkZWYgRk9SX2dldGVuZm9yY2UKI2RlZmluZSBDTEVBTlVQX2dldGVuZm9yY2UKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZ2V0ZW5mb3JjZQojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2dldGZhdHRyCiNkZWZpbmUgQ0xFQU5VUF9nZXRmYXR0cgojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5nZXRmYXR0cgojZW5kaWYKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfaCAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19kIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX29ubHlfdmFsdWVzIChGT1JDRURfRkxBRzw8MykKI2VuZGlmCgojaWZkZWYgRk9SX2dldG9wdAojZGVmaW5lIENMRUFOVVBfZ2V0b3B0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmdldG9wdAojZW5kaWYKI2RlZmluZSBGTEFHX3UgKDFMTDw8MCkKI2RlZmluZSBGTEFHX1QgKDFMTDw8MSkKI2RlZmluZSBGTEFHX2wgKDFMTDw8MikKI2RlZmluZSBGTEFHX28gKDFMTDw8MykKI2RlZmluZSBGTEFHX24gKDFMTDw8NCkKI2RlZmluZSBGTEFHX2EgKDFMTDw8NSkKI2VuZGlmCgojaWZkZWYgRk9SX2dldHR5CiNkZWZpbmUgQ0xFQU5VUF9nZXR0eQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5nZXR0eQojZW5kaWYKI2RlZmluZSBGTEFHX2ggKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfTCAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19tIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfdyAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19pIChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR19JIChGT1JDRURfRkxBRzw8OCkKI2RlZmluZSBGTEFHX0ggKEZPUkNFRF9GTEFHPDw5KQojZGVmaW5lIEZMQUdfdCAoRk9SQ0VEX0ZMQUc8PDEwKQojZW5kaWYKCiNpZmRlZiBGT1JfZ2l0Y2hlY2tvdXQKI2RlZmluZSBDTEVBTlVQX2dpdGNoZWNrb3V0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmdpdGNoZWNrb3V0CiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfZ2l0Y2xvbmUKI2RlZmluZSBDTEVBTlVQX2dpdGNsb25lCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmdpdGNsb25lCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfZ2l0ZmV0Y2gKI2RlZmluZSBDTEVBTlVQX2dpdGZldGNoCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmdpdGZldGNoCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfZ2l0aW5pdAojZGVmaW5lIENMRUFOVVBfZ2l0aW5pdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5naXRpbml0CiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfZ2l0cmVtb3RlCiNkZWZpbmUgQ0xFQU5VUF9naXRyZW1vdGUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZ2l0cmVtb3RlCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfZ3Bpb2RldGVjdAojZGVmaW5lIENMRUFOVVBfZ3Bpb2RldGVjdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5ncGlvZGV0ZWN0CiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfZ3Bpb2ZpbmQKI2RlZmluZSBDTEVBTlVQX2dwaW9maW5kCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmdwaW9maW5kCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfZ3Bpb2dldAojZGVmaW5lIENMRUFOVVBfZ3Bpb2dldAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5ncGlvZ2V0CiNlbmRpZgojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDApCiNlbmRpZgoKI2lmZGVmIEZPUl9ncGlvaW5mbwojZGVmaW5lIENMRUFOVVBfZ3Bpb2luZm8KI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZ3Bpb2luZm8KI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9ncGlvc2V0CiNkZWZpbmUgQ0xFQU5VUF9ncGlvc2V0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmdwaW9zZXQKI2VuZGlmCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8MCkKI2VuZGlmCgojaWZkZWYgRk9SX2dyZXAKI2RlZmluZSBDTEVBTlVQX2dyZXAKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZ3JlcAojZW5kaWYKI2RlZmluZSBGTEFHX3ggKDFMTDw8MCkKI2RlZmluZSBGTEFHX20gKDFMTDw8MSkKI2RlZmluZSBGTEFHX0EgKDFMTDw8MikKI2RlZmluZSBGTEFHX0IgKDFMTDw8MykKI2RlZmluZSBGTEFHX0MgKDFMTDw8NCkKI2RlZmluZSBGTEFHX2YgKDFMTDw8NSkKI2RlZmluZSBGTEFHX2UgKDFMTDw8NikKI2RlZmluZSBGTEFHX3EgKDFMTDw8NykKI2RlZmluZSBGTEFHX2wgKDFMTDw8OCkKI2RlZmluZSBGTEFHX0wgKDFMTDw8OSkKI2RlZmluZSBGTEFHX2MgKDFMTDw8MTApCiNkZWZpbmUgRkxBR193ICgxTEw8PDExKQojZGVmaW5lIEZMQUdfdiAoMUxMPDwxMikKI2RlZmluZSBGTEFHX3MgKDFMTDw8MTMpCiNkZWZpbmUgRkxBR19SICgxTEw8PDE0KQojZGVmaW5lIEZMQUdfciAoMUxMPDwxNSkKI2RlZmluZSBGTEFHX28gKDFMTDw8MTYpCiNkZWZpbmUgRkxBR19uICgxTEw8PDE3KQojZGVmaW5lIEZMQUdfaSAoMUxMPDwxOCkKI2RlZmluZSBGTEFHX2ggKDFMTDw8MTkpCiNkZWZpbmUgRkxBR19iICgxTEw8PDIwKQojZGVmaW5lIEZMQUdfYSAoMUxMPDwyMSkKI2RlZmluZSBGTEFHX0kgKDFMTDw8MjIpCiNkZWZpbmUgRkxBR19IICgxTEw8PDIzKQojZGVmaW5lIEZMQUdfRiAoMUxMPDwyNCkKI2RlZmluZSBGTEFHX0UgKDFMTDw8MjUpCiNkZWZpbmUgRkxBR196ICgxTEw8PDI2KQojZGVmaW5lIEZMQUdfWiAoMUxMPDwyNykKI2RlZmluZSBGTEFHX00gKDFMTDw8MjgpCiNkZWZpbmUgRkxBR19TICgxTEw8PDI5KQojZGVmaW5lIEZMQUdfZXhjbHVkZV9kaXIgKDFMTDw8MzApCiNkZWZpbmUgRkxBR19jb2xvciAoMUxMPDwzMSkKI2RlZmluZSBGTEFHX2xpbmVfYnVmZmVyZWQgKDFMTDw8MzIpCiNlbmRpZgoKI2lmZGVmIEZPUl9ncm91cGFkZAojZGVmaW5lIENMRUFOVVBfZ3JvdXBhZGQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZ3JvdXBhZGQKI2VuZGlmCiNkZWZpbmUgRkxBR19TIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2cgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfUiAoRk9SQ0VEX0ZMQUc8PDIpCiNlbmRpZgoKI2lmZGVmIEZPUl9ncm91cGRlbAojZGVmaW5lIENMRUFOVVBfZ3JvdXBkZWwKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZ3JvdXBkZWwKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9ncm91cHMKI2RlZmluZSBDTEVBTlVQX2dyb3VwcwojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5ncm91cHMKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9ndW56aXAKI2RlZmluZSBDTEVBTlVQX2d1bnppcAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5ndW56aXAKI2VuZGlmCiNkZWZpbmUgRkxBR185IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHXzggKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfNyAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR182IChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHXzUgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfNCAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR18zIChGT1JDRURfRkxBRzw8NikKI2RlZmluZSBGTEFHXzIgKEZPUkNFRF9GTEFHPDw3KQojZGVmaW5lIEZMQUdfMSAoRk9SQ0VEX0ZMQUc8PDgpCiNkZWZpbmUgRkxBR190IChGT1JDRURfRkxBRzw8OSkKI2RlZmluZSBGTEFHX2sgKEZPUkNFRF9GTEFHPDwxMCkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDwxMSkKI2RlZmluZSBGTEFHX2QgKEZPUkNFRF9GTEFHPDwxMikKI2RlZmluZSBGTEFHX2MgKEZPUkNFRF9GTEFHPDwxMykKI2VuZGlmCgojaWZkZWYgRk9SX2d6aXAKI2RlZmluZSBDTEVBTlVQX2d6aXAKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuZ3ppcAojZW5kaWYKI2RlZmluZSBGTEFHXzkgKDFMTDw8MCkKI2RlZmluZSBGTEFHXzggKDFMTDw8MSkKI2RlZmluZSBGTEFHXzcgKDFMTDw8MikKI2RlZmluZSBGTEFHXzYgKDFMTDw8MykKI2RlZmluZSBGTEFHXzUgKDFMTDw8NCkKI2RlZmluZSBGTEFHXzQgKDFMTDw8NSkKI2RlZmluZSBGTEFHXzMgKDFMTDw8NikKI2RlZmluZSBGTEFHXzIgKDFMTDw8NykKI2RlZmluZSBGTEFHXzEgKDFMTDw8OCkKI2RlZmluZSBGTEFHX3QgKDFMTDw8OSkKI2RlZmluZSBGTEFHX2sgKDFMTDw8MTApCiNkZWZpbmUgRkxBR19mICgxTEw8PDExKQojZGVmaW5lIEZMQUdfZCAoMUxMPDwxMikKI2RlZmluZSBGTEFHX2MgKDFMTDw8MTMpCiNkZWZpbmUgRkxBR19uICgxTEw8PDE0KQojZW5kaWYKCiNpZmRlZiBGT1JfaGVhZAojZGVmaW5lIENMRUFOVVBfaGVhZAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5oZWFkCiNlbmRpZgojZGVmaW5lIEZMQUdfdiAoMUxMPDwwKQojZGVmaW5lIEZMQUdfcSAoMUxMPDwxKQojZGVmaW5lIEZMQUdfYyAoMUxMPDwyKQojZGVmaW5lIEZMQUdfbiAoMUxMPDwzKQojZW5kaWYKCiNpZmRlZiBGT1JfaGVsbG8KI2RlZmluZSBDTEVBTlVQX2hlbGxvCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmhlbGxvCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfaGVscAojZGVmaW5lIENMRUFOVVBfaGVscAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5oZWxwCiNlbmRpZgojZGVmaW5lIEZMQUdfdSAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19oIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX2EgKEZPUkNFRF9GTEFHPDwyKQojZW5kaWYKCiNpZmRlZiBGT1JfaGV4ZHVtcAojZGVmaW5lIENMRUFOVVBfaGV4ZHVtcAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5oZXhkdW1wCiNlbmRpZgojZGVmaW5lIEZMQUdfeCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR192IChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfbyAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX2QgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfQyAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX2IgKEZPUkNFRF9GTEFHPDw4KQojZW5kaWYKCiNpZmRlZiBGT1JfaGV4ZWRpdAojZGVmaW5lIENMRUFOVVBfaGV4ZWRpdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5oZXhlZGl0CiNlbmRpZgojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDApCiNlbmRpZgoKI2lmZGVmIEZPUl9ob3N0CiNkZWZpbmUgQ0xFQU5VUF9ob3N0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmhvc3QKI2VuZGlmCiNkZWZpbmUgRkxBR190IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3YgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfYSAoRk9SQ0VEX0ZMQUc8PDIpCiNlbmRpZgoKI2lmZGVmIEZPUl9ob3N0aWQKI2RlZmluZSBDTEVBTlVQX2hvc3RpZAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5ob3N0aWQKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9ob3N0bmFtZQojZGVmaW5lIENMRUFOVVBfaG9zdG5hbWUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuaG9zdG5hbWUKI2VuZGlmCiNkZWZpbmUgRkxBR19GICgxTEw8PDApCiNkZWZpbmUgRkxBR19mICgxTEw8PDEpCiNkZWZpbmUgRkxBR19zICgxTEw8PDIpCiNkZWZpbmUgRkxBR19kICgxTEw8PDMpCiNkZWZpbmUgRkxBR19iICgxTEw8PDQpCiNlbmRpZgoKI2lmZGVmIEZPUl9odHRwZAojZGVmaW5lIENMRUFOVVBfaHR0cGQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuaHR0cGQKI2VuZGlmCiNkZWZpbmUgRkxBR192IChGT1JDRURfRkxBRzw8MCkKI2VuZGlmCgojaWZkZWYgRk9SX2h3Y2xvY2sKI2RlZmluZSBDTEVBTlVQX2h3Y2xvY2sKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuaHdjbG9jawojZW5kaWYKI2RlZmluZSBGTEFHX3cgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR191IChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfZmFzdCAoRk9SQ0VEX0ZMQUc8PDcpCiNlbmRpZgoKI2lmZGVmIEZPUl9pMmNkZXRlY3QKI2RlZmluZSBDTEVBTlVQX2kyY2RldGVjdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5pMmNkZXRlY3QKI2VuZGlmCiNkZWZpbmUgRkxBR195IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3IgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfcSAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX0YgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfYSAoRk9SQ0VEX0ZMQUc8PDUpCiNlbmRpZgoKI2lmZGVmIEZPUl9pMmNkdW1wCiNkZWZpbmUgQ0xFQU5VUF9pMmNkdW1wCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmkyY2R1bXAKI2VuZGlmCiNkZWZpbmUgRkxBR195IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDwxKQojZW5kaWYKCiNpZmRlZiBGT1JfaTJjZ2V0CiNkZWZpbmUgQ0xFQU5VUF9pMmNnZXQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuaTJjZ2V0CiNlbmRpZgojZGVmaW5lIEZMQUdfeSAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8MSkKI2VuZGlmCgojaWZkZWYgRk9SX2kyY3NldAojZGVmaW5lIENMRUFOVVBfaTJjc2V0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmkyY3NldAojZW5kaWYKI2RlZmluZSBGTEFHX3kgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfZiAoRk9SQ0VEX0ZMQUc8PDEpCiNlbmRpZgoKI2lmZGVmIEZPUl9pMmN0cmFuc2ZlcgojZGVmaW5lIENMRUFOVVBfaTJjdHJhbnNmZXIKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuaTJjdHJhbnNmZXIKI2VuZGlmCiNkZWZpbmUgRkxBR195IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDIpCiNlbmRpZgoKI2lmZGVmIEZPUl9pY29udgojZGVmaW5lIENMRUFOVVBfaWNvbnYKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuaWNvbnYKI2VuZGlmCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8MykKI2VuZGlmCgojaWZkZWYgRk9SX2lkCiNkZWZpbmUgQ0xFQU5VUF9pZAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5pZAojZW5kaWYKI2RlZmluZSBGTEFHX3UgKDFMTDw8MCkKI2RlZmluZSBGTEFHX3IgKDFMTDw8MSkKI2RlZmluZSBGTEFHX2cgKDFMTDw8MikKI2RlZmluZSBGTEFHX0cgKDFMTDw8MykKI2RlZmluZSBGTEFHX24gKDFMTDw8NCkKI2RlZmluZSBGTEFHX1ogKEZPUkNFRF9GTEFHPDw1KQojZW5kaWYKCiNpZmRlZiBGT1JfaWZjb25maWcKI2RlZmluZSBDTEVBTlVQX2lmY29uZmlnCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmlmY29uZmlnCiNlbmRpZgojZGVmaW5lIEZMQUdfUyAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8MSkKI2VuZGlmCgojaWZkZWYgRk9SX2luaXQKI2RlZmluZSBDTEVBTlVQX2luaXQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuaW5pdAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2lub3RpZnlkCiNkZWZpbmUgQ0xFQU5VUF9pbm90aWZ5ZAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5pbm90aWZ5ZAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2luc21vZAojZGVmaW5lIENMRUFOVVBfaW5zbW9kCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmluc21vZAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2luc3RhbGwKI2RlZmluZSBDTEVBTlVQX2luc3RhbGwKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuaW5zdGFsbAojZW5kaWYKI2RlZmluZSBGTEFHX2cgKDFMTDw8MCkKI2RlZmluZSBGTEFHX28gKDFMTDw8MSkKI2RlZmluZSBGTEFHX20gKDFMTDw8MikKI2RlZmluZSBGTEFHX3QgKDFMTDw8MykKI2RlZmluZSBGTEFHX3YgKDFMTDw8NCkKI2RlZmluZSBGTEFHX3MgKDFMTDw8NSkKI2RlZmluZSBGTEFHX3AgKDFMTDw8NikKI2RlZmluZSBGTEFHX0QgKDFMTDw8NykKI2RlZmluZSBGTEFHX2QgKDFMTDw8OCkKI2RlZmluZSBGTEFHX2MgKDFMTDw8OSkKI2VuZGlmCgojaWZkZWYgRk9SX2lvbmljZQojZGVmaW5lIENMRUFOVVBfaW9uaWNlCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmlvbmljZQojZW5kaWYKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDwzKQojZW5kaWYKCiNpZmRlZiBGT1JfaW9yZW5pY2UKI2RlZmluZSBDTEVBTlVQX2lvcmVuaWNlCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmlvcmVuaWNlCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfaW90b3AKI2RlZmluZSBDTEVBTlVQX2lvdG9wCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmlvdG9wCiNlbmRpZgojZGVmaW5lIEZMQUdfcSAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19iIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfbSAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19kIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfdSAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX28gKEZPUkNFRF9GTEFHPDw4KQojZGVmaW5lIEZMQUdfayAoRk9SQ0VEX0ZMQUc8PDkpCiNkZWZpbmUgRkxBR19IIChGT1JDRURfRkxBRzw8MTApCiNkZWZpbmUgRkxBR19PIChGT1JDRURfRkxBRzw8MTEpCiNkZWZpbmUgRkxBR19LIChGT1JDRURfRkxBRzw8MTIpCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8MTMpCiNkZWZpbmUgRkxBR19BIChGT1JDRURfRkxBRzw8MTQpCiNlbmRpZgoKI2lmZGVmIEZPUl9pcAojZGVmaW5lIENMRUFOVVBfaXAKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuaXAKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9pcGNybQojZGVmaW5lIENMRUFOVVBfaXBjcm0KI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuaXBjcm0KI2VuZGlmCiNkZWZpbmUgRkxBR19RIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3EgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfUyAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX00gKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfbSAoRk9SQ0VEX0ZMQUc8PDUpCiNlbmRpZgoKI2lmZGVmIEZPUl9pcGNzCiNkZWZpbmUgQ0xFQU5VUF9pcGNzCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmlwY3MKI2VuZGlmCiNkZWZpbmUgRkxBR19pIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfcSAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX2wgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfdSAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR190IChGT1JDRURfRkxBRzw8NikKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDw3KQojZGVmaW5lIEZMQUdfYyAoRk9SQ0VEX0ZMQUc8PDgpCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8OSkKI2VuZGlmCgojaWZkZWYgRk9SX2pvYnMKI2RlZmluZSBDTEVBTlVQX2pvYnMKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuam9icwojZW5kaWYKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDQpCiNlbmRpZgoKI2lmZGVmIEZPUl9raWxsCiNkZWZpbmUgQ0xFQU5VUF9raWxsCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmtpbGwKI2VuZGlmCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2wgKEZPUkNFRF9GTEFHPDwxKQojZW5kaWYKCiNpZmRlZiBGT1Jfa2lsbGFsbAojZGVmaW5lIENMRUFOVVBfa2lsbGFsbAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5raWxsYWxsCiNlbmRpZgojZGVmaW5lIEZMQUdfdyAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR192IChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3EgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19pIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDw1KQojZW5kaWYKCiNpZmRlZiBGT1Jfa2lsbGFsbDUKI2RlZmluZSBDTEVBTlVQX2tpbGxhbGw1CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmtpbGxhbGw1CiNlbmRpZgojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX28gKEZPUkNFRF9GTEFHPDwyKQojZW5kaWYKCiNpZmRlZiBGT1Jfa2xvZ2QKI2RlZmluZSBDTEVBTlVQX2tsb2dkCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmtsb2dkCiNlbmRpZgojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8MSkKI2VuZGlmCgojaWZkZWYgRk9SX2xhc3QKI2RlZmluZSBDTEVBTlVQX2xhc3QKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubGFzdAojZW5kaWYKI2RlZmluZSBGTEFHX1cgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfZiAoRk9SQ0VEX0ZMQUc8PDEpCiNlbmRpZgoKI2lmZGVmIEZPUl9saW5rCiNkZWZpbmUgQ0xFQU5VUF9saW5rCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmxpbmsKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9saW51eDMyCiNkZWZpbmUgQ0xFQU5VUF9saW51eDMyCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmxpbnV4MzIKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9sbgojZGVmaW5lIENMRUFOVVBfbG4KI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubG4KI2VuZGlmCiNkZWZpbmUgRkxBR19zICgxTEw8PDApCiNkZWZpbmUgRkxBR19mICgxTEw8PDEpCiNkZWZpbmUgRkxBR19uICgxTEw8PDIpCiNkZWZpbmUgRkxBR192ICgxTEw8PDMpCiNkZWZpbmUgRkxBR19UICgxTEw8PDQpCiNkZWZpbmUgRkxBR190ICgxTEw8PDUpCiNkZWZpbmUgRkxBR19yICgxTEw8PDYpCiNlbmRpZgoKI2lmZGVmIEZPUl9sb2FkX3BvbGljeQojZGVmaW5lIENMRUFOVVBfbG9hZF9wb2xpY3kKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubG9hZF9wb2xpY3kKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9sb2NhbAojZGVmaW5lIENMRUFOVVBfbG9jYWwKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubG9jYWwKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9sb2cKI2RlZmluZSBDTEVBTlVQX2xvZwojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5sb2cKI2VuZGlmCiNkZWZpbmUgRkxBR190IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDwxKQojZW5kaWYKCiNpZmRlZiBGT1JfbG9nZ2VyCiNkZWZpbmUgQ0xFQU5VUF9sb2dnZXIKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubG9nZ2VyCiNlbmRpZgojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDwyKQojZW5kaWYKCiNpZmRlZiBGT1JfbG9naW4KI2RlZmluZSBDTEVBTlVQX2xvZ2luCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmxvZ2luCiNlbmRpZgojZGVmaW5lIEZMQUdfaCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDwyKQojZW5kaWYKCiNpZmRlZiBGT1JfbG9nbmFtZQojZGVmaW5lIENMRUFOVVBfbG9nbmFtZQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5sb2duYW1lCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfbG9ncGF0aAojZGVmaW5lIENMRUFOVVBfbG9ncGF0aAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5sb2dwYXRoCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfbG9zZXR1cAojZGVmaW5lIENMRUFOVVBfbG9zZXR1cAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5sb3NldHVwCiNlbmRpZgojZGVmaW5lIEZMQUdfRCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX2MgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX2ogKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfbyAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19yIChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDw4KQojZGVmaW5lIEZMQUdfUyAoRk9SQ0VEX0ZMQUc8PDkpCiNlbmRpZgoKI2lmZGVmIEZPUl9scwojZGVmaW5lIENMRUFOVVBfbHMKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubHMKI2VuZGlmCiNkZWZpbmUgRkxBR18xICgxTEw8PDApCiNkZWZpbmUgRkxBR194ICgxTEw8PDEpCiNkZWZpbmUgRkxBR193ICgxTEw8PDIpCiNkZWZpbmUgRkxBR191ICgxTEw8PDMpCiNkZWZpbmUgRkxBR190ICgxTEw8PDQpCiNkZWZpbmUgRkxBR19zICgxTEw8PDUpCiNkZWZpbmUgRkxBR19yICgxTEw8PDYpCiNkZWZpbmUgRkxBR19xICgxTEw8PDcpCiNkZWZpbmUgRkxBR19wICgxTEw8PDgpCiNkZWZpbmUgRkxBR19uICgxTEw8PDkpCiNkZWZpbmUgRkxBR19tICgxTEw8PDEwKQojZGVmaW5lIEZMQUdfbCAoMUxMPDwxMSkKI2RlZmluZSBGTEFHX2sgKDFMTDw8MTIpCiNkZWZpbmUgRkxBR19pICgxTEw8PDEzKQojZGVmaW5lIEZMQUdfaCAoMUxMPDwxNCkKI2RlZmluZSBGTEFHX2YgKDFMTDw8MTUpCiNkZWZpbmUgRkxBR19kICgxTEw8PDE2KQojZGVmaW5lIEZMQUdfYyAoMUxMPDwxNykKI2RlZmluZSBGTEFHX2IgKDFMTDw8MTgpCiNkZWZpbmUgRkxBR19hICgxTEw8PDE5KQojZGVmaW5lIEZMQUdfWCAoMUxMPDwyMCkKI2RlZmluZSBGTEFHX1UgKDFMTDw8MjEpCiNkZWZpbmUgRkxBR19TICgxTEw8PDIyKQojZGVmaW5lIEZMQUdfUiAoMUxMPDwyMykKI2RlZmluZSBGTEFHX04gKDFMTDw8MjQpCiNkZWZpbmUgRkxBR19MICgxTEw8PDI1KQojZGVmaW5lIEZMQUdfSCAoMUxMPDwyNikKI2RlZmluZSBGTEFHX0YgKDFMTDw8MjcpCiNkZWZpbmUgRkxBR19DICgxTEw8PDI4KQojZGVmaW5lIEZMQUdfQSAoMUxMPDwyOSkKI2RlZmluZSBGTEFHX28gKDFMTDw8MzApCiNkZWZpbmUgRkxBR19nICgxTEw8PDMxKQojZGVmaW5lIEZMQUdfWiAoMUxMPDwzMikKI2RlZmluZSBGTEFHX1g3RSAoMUxMPDwzMykKI2RlZmluZSBGTEFHX1gyMSAoMUxMPDwzNCkKI2RlZmluZSBGTEFHX1g3RiAoMUxMPDwzNSkKI2RlZmluZSBGTEFHX3Nob3dfY29udHJvbF9jaGFycyAoMUxMPDwzNikKI2RlZmluZSBGTEFHX2Z1bGxfdGltZSAoMUxMPDwzNykKI2RlZmluZSBGTEFHX2NvbG9yICgxTEw8PDM4KQojZGVmaW5lIEZMQUdfc29ydCAoMUxMPDwzOSkKI2VuZGlmCgojaWZkZWYgRk9SX2xzYXR0cgojZGVmaW5lIENMRUFOVVBfbHNhdHRyCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLmxzYXR0cgojZW5kaWYKI2RlZmluZSBGTEFHX1IgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX2EgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8NSkKI2VuZGlmCgojaWZkZWYgRk9SX2xzbW9kCiNkZWZpbmUgQ0xFQU5VUF9sc21vZAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5sc21vZAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX2xzb2YKI2RlZmluZSBDTEVBTlVQX2xzb2YKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubHNvZgojZW5kaWYKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8MikKI2VuZGlmCgojaWZkZWYgRk9SX2xzcGNpCiNkZWZpbmUgQ0xFQU5VUF9sc3BjaQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5sc3BjaQojZW5kaWYKI2RlZmluZSBGTEFHX2kgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfeCAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX2sgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfbSAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19lIChGT1JDRURfRkxBRzw8NSkKI2VuZGlmCgojaWZkZWYgRk9SX2xzdXNiCiNkZWZpbmUgQ0xFQU5VUF9sc3VzYgojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5sc3VzYgojZW5kaWYKI2RlZmluZSBGTEFHX2kgKEZPUkNFRF9GTEFHPDwwKQojZW5kaWYKCiNpZmRlZiBGT1JfbWFrZWRldnMKI2RlZmluZSBDTEVBTlVQX21ha2VkZXZzCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm1ha2VkZXZzCiNlbmRpZgojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDApCiNlbmRpZgoKI2lmZGVmIEZPUl9tYW4KI2RlZmluZSBDTEVBTlVQX21hbgojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5tYW4KI2VuZGlmCiNkZWZpbmUgRkxBR19NIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2sgKEZPUkNFRF9GTEFHPDwxKQojZW5kaWYKCiNpZmRlZiBGT1JfbWNvb2tpZQojZGVmaW5lIENMRUFOVVBfbWNvb2tpZQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5tY29va2llCiNlbmRpZgojZGVmaW5lIEZMQUdfViAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR192IChGT1JDRURfRkxBRzw8MSkKI2VuZGlmCgojaWZkZWYgRk9SX21kNXN1bQojZGVmaW5lIENMRUFOVVBfbWQ1c3VtCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm1kNXN1bQojZW5kaWYKI2RlZmluZSBGTEFHX3MgKDFMTDw8MCkKI2RlZmluZSBGTEFHX2MgKDFMTDw8MSkKI2RlZmluZSBGTEFHX2IgKDFMTDw8MikKI2VuZGlmCgojaWZkZWYgRk9SX21kZXYKI2RlZmluZSBDTEVBTlVQX21kZXYKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubWRldgojZW5kaWYKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDwwKQojZW5kaWYKCiNpZmRlZiBGT1JfbWVtZWF0ZXIKI2RlZmluZSBDTEVBTlVQX21lbWVhdGVyCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm1lbWVhdGVyCiNlbmRpZgojZGVmaW5lIEZMQUdfTSAoRk9SQ0VEX0ZMQUc8PDApCiNlbmRpZgoKI2lmZGVmIEZPUl9taWNyb2NvbQojZGVmaW5lIENMRUFOVVBfbWljcm9jb20KI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubWljcm9jb20KI2VuZGlmCiNkZWZpbmUgRkxBR19YICgxTEw8PDApCiNkZWZpbmUgRkxBR19zICgxTEw8PDEpCiNlbmRpZgoKI2lmZGVmIEZPUl9taXgKI2RlZmluZSBDTEVBTlVQX21peAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5taXgKI2VuZGlmCiNkZWZpbmUgRkxBR19yIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2wgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8MykKI2VuZGlmCgojaWZkZWYgRk9SX21rZGlyCiNkZWZpbmUgQ0xFQU5VUF9ta2RpcgojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5ta2RpcgojZW5kaWYKI2RlZmluZSBGTEFHX20gKDFMTDw8MCkKI2RlZmluZSBGTEFHX3AgKDFMTDw8MSkKI2RlZmluZSBGTEFHX3YgKDFMTDw8MikKI2RlZmluZSBGTEFHX1ogKEZPUkNFRF9GTEFHPDwzKQojZW5kaWYKCiNpZmRlZiBGT1JfbWtlMmZzCiNkZWZpbmUgQ0xFQU5VUF9ta2UyZnMKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubWtlMmZzCiNlbmRpZgojZGVmaW5lIEZMQUdfYiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19pIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX04gKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfbSAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19xIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfRiAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19nIChGT1JDRURfRkxBRzw8NykKI2VuZGlmCgojaWZkZWYgRk9SX21rZmlmbwojZGVmaW5lIENMRUFOVVBfbWtmaWZvCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm1rZmlmbwojZW5kaWYKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfWiAoRk9SQ0VEX0ZMQUc8PDEpCiNlbmRpZgoKI2lmZGVmIEZPUl9ta25vZAojZGVmaW5lIENMRUFOVVBfbWtub2QKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubWtub2QKI2VuZGlmCiNkZWZpbmUgRkxBR19aIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDwxKQojZW5kaWYKCiNpZmRlZiBGT1JfbWtwYXNzd2QKI2RlZmluZSBDTEVBTlVQX21rcGFzc3dkCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm1rcGFzc3dkCiNlbmRpZgojZGVmaW5lIEZMQUdfUCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19tIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX1MgKEZPUkNFRF9GTEFHPDwyKQojZW5kaWYKCiNpZmRlZiBGT1JfbWtzd2FwCiNkZWZpbmUgQ0xFQU5VUF9ta3N3YXAKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubWtzd2FwCiNlbmRpZgojZGVmaW5lIEZMQUdfTCAoRk9SQ0VEX0ZMQUc8PDApCiNlbmRpZgoKI2lmZGVmIEZPUl9ta3RlbXAKI2RlZmluZSBDTEVBTlVQX21rdGVtcAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5ta3RlbXAKI2VuZGlmCiNkZWZpbmUgRkxBR190ICgxTEw8PDApCiNkZWZpbmUgRkxBR19wICgxTEw8PDEpCiNkZWZpbmUgRkxBR19kICgxTEw8PDIpCiNkZWZpbmUgRkxBR19xICgxTEw8PDMpCiNkZWZpbmUgRkxBR191ICgxTEw8PDQpCiNkZWZpbmUgRkxBR190bXBkaXIgKDFMTDw8NSkKI2VuZGlmCgojaWZkZWYgRk9SX21vZGluZm8KI2RlZmluZSBDTEVBTlVQX21vZGluZm8KI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubW9kaW5mbwojZW5kaWYKI2RlZmluZSBGTEFHXzAgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfRiAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19rIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX2IgKEZPUkNFRF9GTEFHPDwzKQojZW5kaWYKCiNpZmRlZiBGT1JfbW9kcHJvYmUKI2RlZmluZSBDTEVBTlVQX21vZHByb2JlCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm1vZHByb2JlCiNlbmRpZgojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19iIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX0QgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR192IChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX3EgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX2EgKEZPUkNFRF9GTEFHPDw4KQojZW5kaWYKCiNpZmRlZiBGT1JfbW9yZQojZGVmaW5lIENMRUFOVVBfbW9yZQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5tb3JlCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfbW91bnQKI2RlZmluZSBDTEVBTlVQX21vdW50CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm1vdW50CiNlbmRpZgojZGVmaW5lIEZMQUdfbyAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR190IChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3cgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19yIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfZiAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX08gKEZPUkNFRF9GTEFHPDw4KQojZGVmaW5lIEZMQUdfUiAoRk9SQ0VEX0ZMQUc8PDkpCiNlbmRpZgoKI2lmZGVmIEZPUl9tb3VudHBvaW50CiNkZWZpbmUgQ0xFQU5VUF9tb3VudHBvaW50CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm1vdW50cG9pbnQKI2VuZGlmCiNkZWZpbmUgRkxBR194IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2QgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfcSAoRk9SQ0VEX0ZMQUc8PDIpCiNlbmRpZgoKI2lmZGVmIEZPUl9tdgojZGVmaW5lIENMRUFOVVBfbXYKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMubXYKI2VuZGlmCiNkZWZpbmUgRkxBR19UICgxTEw8PDApCiNkZWZpbmUgRkxBR190ICgxTEw8PDEpCiNkZWZpbmUgRkxBR19pICgxTEw8PDIpCiNkZWZpbmUgRkxBR19mICgxTEw8PDMpCiNkZWZpbmUgRkxBR19GICgxTEw8PDQpCiNkZWZpbmUgRkxBR19uICgxTEw8PDUpCiNkZWZpbmUgRkxBR192ICgxTEw8PDYpCiNkZWZpbmUgRkxBR194ICgxTEw8PDcpCiNlbmRpZgoKI2lmZGVmIEZPUl9uYmRfY2xpZW50CiNkZWZpbmUgQ0xFQU5VUF9uYmRfY2xpZW50CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm5iZF9jbGllbnQKI2VuZGlmCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfYiAoRk9SQ0VEX0ZMQUc8PDIpCiNlbmRpZgoKI2lmZGVmIEZPUl9uYmRfc2VydmVyCiNkZWZpbmUgQ0xFQU5VUF9uYmRfc2VydmVyCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm5iZF9zZXJ2ZXIKI2VuZGlmCiNkZWZpbmUgRkxBR19yIChGT1JDRURfRkxBRzw8MCkKI2VuZGlmCgojaWZkZWYgRk9SX25ldGNhdAojZGVmaW5lIENMRUFOVVBfbmV0Y2F0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm5ldGNhdAojZW5kaWYKI2RlZmluZSBGTEFHX3ogKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX1UgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfdSAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR182IChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHXzQgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfZiAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8OCkKI2RlZmluZSBGTEFHX3EgKEZPUkNFRF9GTEFHPDw5KQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDEwKQojZGVmaW5lIEZMQUdfVyAoRk9SQ0VEX0ZMQUc8PDExKQojZGVmaW5lIEZMQUdfdyAoRk9SQ0VEX0ZMQUc8PDEyKQojZGVmaW5lIEZMQUdfTCAoRk9SQ0VEX0ZMQUc8PDEzKQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDE0KQojZGVmaW5lIEZMQUdfRSAoRk9SQ0VEX0ZMQUc8PDE1KQojZGVmaW5lIEZMQUdfdCAoRk9SQ0VEX0ZMQUc8PDE2KQojZW5kaWYKCiNpZmRlZiBGT1JfbmV0c3RhdAojZGVmaW5lIENMRUFOVVBfbmV0c3RhdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5uZXRzdGF0CiNlbmRpZgojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX2UgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR190IChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX3UgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfdyAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR194IChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX3IgKEZPUkNFRF9GTEFHPDw4KQojZGVmaW5lIEZMQUdfVyAoRk9SQ0VEX0ZMQUc8PDkpCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8MTApCiNlbmRpZgoKI2lmZGVmIEZPUl9uaWNlCiNkZWZpbmUgQ0xFQU5VUF9uaWNlCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm5pY2UKI2VuZGlmCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MCkKI2VuZGlmCgojaWZkZWYgRk9SX25sCiNkZWZpbmUgQ0xFQU5VUF9ubAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5ubAojZW5kaWYKI2RlZmluZSBGTEFHX0UgKDFMTDw8MCkKI2RlZmluZSBGTEFHX3MgKDFMTDw8MSkKI2RlZmluZSBGTEFHX24gKDFMTDw8MikKI2RlZmluZSBGTEFHX2IgKDFMTDw8MykKI2RlZmluZSBGTEFHX3cgKDFMTDw8NCkKI2RlZmluZSBGTEFHX2wgKDFMTDw8NSkKI2RlZmluZSBGTEFHX3YgKDFMTDw8NikKI2VuZGlmCgojaWZkZWYgRk9SX25vaHVwCiNkZWZpbmUgQ0xFQU5VUF9ub2h1cAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5ub2h1cAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX25wcm9jCiNkZWZpbmUgQ0xFQU5VUF9ucHJvYwojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5ucHJvYwojZW5kaWYKI2RlZmluZSBGTEFHX2FsbCAoRk9SQ0VEX0ZMQUc8PDApCiNlbmRpZgoKI2lmZGVmIEZPUl9uc2VudGVyCiNkZWZpbmUgQ0xFQU5VUF9uc2VudGVyCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm5zZW50ZXIKI2VuZGlmCiNkZWZpbmUgRkxBR19VIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3UgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfaSAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR19DIChGT1JDRURfRkxBRzw8NikKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDw3KQojZGVmaW5lIEZMQUdfRiAoRk9SQ0VEX0ZMQUc8PDgpCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8OSkKI2VuZGlmCgojaWZkZWYgRk9SX29kCiNkZWZpbmUgQ0xFQU5VUF9vZAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5vZAojZW5kaWYKI2RlZmluZSBGTEFHX3QgKDFMTDw8MCkKI2RlZmluZSBGTEFHX0EgKDFMTDw8MSkKI2RlZmluZSBGTEFHX2IgKDFMTDw8MikKI2RlZmluZSBGTEFHX2MgKDFMTDw8MykKI2RlZmluZSBGTEFHX2QgKDFMTDw8NCkKI2RlZmluZSBGTEFHX28gKDFMTDw8NSkKI2RlZmluZSBGTEFHX3MgKDFMTDw8NikKI2RlZmluZSBGTEFHX3ggKDFMTDw8NykKI2RlZmluZSBGTEFHX04gKDFMTDw8OCkKI2RlZmluZSBGTEFHX3cgKDFMTDw8OSkKI2RlZmluZSBGTEFHX3YgKDFMTDw8MTApCiNkZWZpbmUgRkxBR19qICgxTEw8PDExKQojZW5kaWYKCiNpZmRlZiBGT1Jfb25laXQKI2RlZmluZSBDTEVBTlVQX29uZWl0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLm9uZWl0CiNlbmRpZgojZGVmaW5lIEZMQUdfMyAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX2MgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDMpCiNlbmRpZgoKI2lmZGVmIEZPUl9vcGVudnQKI2RlZmluZSBDTEVBTlVQX29wZW52dAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5vcGVudnQKI2VuZGlmCiNkZWZpbmUgRkxBR193IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfYyAoRk9SQ0VEX0ZMQUc8PDIpCiNlbmRpZgoKI2lmZGVmIEZPUl9wYXJ0cHJvYmUKI2RlZmluZSBDTEVBTlVQX3BhcnRwcm9iZQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5wYXJ0cHJvYmUKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9wYXNzd2QKI2RlZmluZSBDTEVBTlVQX3Bhc3N3ZAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5wYXNzd2QKI2VuZGlmCiNkZWZpbmUgRkxBR191IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2wgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8MykKI2VuZGlmCgojaWZkZWYgRk9SX3Bhc3RlCiNkZWZpbmUgQ0xFQU5VUF9wYXN0ZQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5wYXN0ZQojZW5kaWYKI2RlZmluZSBGTEFHX3MgKDFMTDw8MCkKI2RlZmluZSBGTEFHX2QgKDFMTDw8MSkKI2VuZGlmCgojaWZkZWYgRk9SX3BhdGNoCiNkZWZpbmUgQ0xFQU5VUF9wYXRjaAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5wYXRjaAojZW5kaWYKI2RlZmluZSBGTEFHX3MgKDFMTDw8MCkKI2RlZmluZSBGTEFHX1IgKDFMTDw8MSkKI2RlZmluZSBGTEFHX2kgKDFMTDw8MikKI2RlZmluZSBGTEFHX2QgKDFMTDw8MykKI2RlZmluZSBGTEFHX3YgKDFMTDw8NCkKI2RlZmluZSBGTEFHX3AgKDFMTDw8NSkKI2RlZmluZSBGTEFHX2wgKDFMTDw8NikKI2RlZmluZSBGTEFHX3UgKDFMTDw8NykKI2RlZmluZSBGTEFHX2YgKDFMTDw8OCkKI2RlZmluZSBGTEFHX2cgKDFMTDw8OSkKI2RlZmluZSBGTEFHX0YgKDFMTDw8MTApCiNkZWZpbmUgRkxBR19kcnlfcnVuICgxTEw8PDExKQojZGVmaW5lIEZMQUdfbm9fYmFja3VwX2lmX21pc21hdGNoICgxTEw8PDEyKQojZW5kaWYKCiNpZmRlZiBGT1JfcGdyZXAKI2RlZmluZSBDTEVBTlVQX3BncmVwCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnBncmVwCiNlbmRpZgojZGVmaW5lIEZMQUdfTCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR194IChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3YgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfbyAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfRyAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19nIChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX1AgKEZPUkNFRF9GTEFHPDw4KQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDkpCiNkZWZpbmUgRkxBR190IChGT1JDRURfRkxBRzw8MTApCiNkZWZpbmUgRkxBR19VIChGT1JDRURfRkxBRzw8MTEpCiNkZWZpbmUgRkxBR191IChGT1JDRURfRkxBRzw8MTIpCiNkZWZpbmUgRkxBR19kIChGT1JDRURfRkxBRzw8MTMpCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8MTQpCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8MTUpCiNlbmRpZgoKI2lmZGVmIEZPUl9waWRvZgojZGVmaW5lIENMRUFOVVBfcGlkb2YKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMucGlkb2YKI2VuZGlmCiNkZWZpbmUgRkxBR194IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX28gKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDIpCiNlbmRpZgoKI2lmZGVmIEZPUl9waW5nCiNkZWZpbmUgQ0xFQU5VUF9waW5nCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnBpbmcKI2VuZGlmCiNkZWZpbmUgRkxBR19JIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHXzYgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfNCAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX3EgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfdyAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR19XIChGT1JDRURfRkxBRzw8NikKI2RlZmluZSBGTEFHX2kgKEZPUkNFRF9GTEFHPDw3KQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDgpCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8OSkKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDwxMCkKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDwxMSkKI2VuZGlmCgojaWZkZWYgRk9SX3Bpdm90X3Jvb3QKI2RlZmluZSBDTEVBTlVQX3Bpdm90X3Jvb3QKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMucGl2b3Rfcm9vdAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX3BraWxsCiNkZWZpbmUgQ0xFQU5VUF9wa2lsbAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5wa2lsbAojZW5kaWYKI2RlZmluZSBGTEFHX2wgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfeCAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR192IChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX28gKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX0cgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfZyAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR19QIChGT1JDRURfRkxBRzw8OCkKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDw5KQojZGVmaW5lIEZMQUdfdCAoRk9SQ0VEX0ZMQUc8PDEwKQojZGVmaW5lIEZMQUdfVSAoRk9SQ0VEX0ZMQUc8PDExKQojZGVmaW5lIEZMQUdfdSAoRk9SQ0VEX0ZMQUc8PDEyKQojZGVmaW5lIEZMQUdfViAoRk9SQ0VEX0ZMQUc8PDEzKQojZW5kaWYKCiNpZmRlZiBGT1JfcG1hcAojZGVmaW5lIENMRUFOVVBfcG1hcAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5wbWFwCiNlbmRpZgojZGVmaW5lIEZMQUdfeCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19xIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDwyKQojZW5kaWYKCiNpZmRlZiBGT1JfcHJpbnRlbnYKI2RlZmluZSBDTEVBTlVQX3ByaW50ZW52CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnByaW50ZW52CiNlbmRpZgojZGVmaW5lIEZMQUdfMCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19udWxsIChGT1JDRURfRkxBRzw8MSkKI2VuZGlmCgojaWZkZWYgRk9SX3ByaW50ZgojZGVmaW5lIENMRUFOVVBfcHJpbnRmCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnByaW50ZgojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX3BzCiNkZWZpbmUgQ0xFQU5VUF9wcwojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5wcwojZW5kaWYKI2RlZmluZSBGTEFHX1ogKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfdyAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19HIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX2cgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfVSAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR191IChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX1QgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfdCAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8OCkKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDw5KQojZGVmaW5lIEZMQUdfTyAoRk9SQ0VEX0ZMQUc8PDEwKQojZGVmaW5lIEZMQUdfbyAoRk9SQ0VEX0ZMQUc8PDExKQojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDEyKQojZGVmaW5lIEZMQUdfTSAoRk9SQ0VEX0ZMQUc8PDEzKQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDE0KQojZGVmaW5lIEZMQUdfZiAoRk9SQ0VEX0ZMQUc8PDE1KQojZGVmaW5lIEZMQUdfZSAoRk9SQ0VEX0ZMQUc8PDE2KQojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDE3KQojZGVmaW5lIEZMQUdfQSAoRk9SQ0VEX0ZMQUc8PDE4KQojZGVmaW5lIEZMQUdfYSAoRk9SQ0VEX0ZMQUc8PDE5KQojZGVmaW5lIEZMQUdfUCAoRk9SQ0VEX0ZMQUc8PDIwKQojZGVmaW5lIEZMQUdfayAoRk9SQ0VEX0ZMQUc8PDIxKQojZW5kaWYKCiNpZmRlZiBGT1JfcHdkCiNkZWZpbmUgQ0xFQU5VUF9wd2QKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMucHdkCiNlbmRpZgojZGVmaW5lIEZMQUdfUCAoMUxMPDwwKQojZGVmaW5lIEZMQUdfTCAoMUxMPDwxKQojZW5kaWYKCiNpZmRlZiBGT1JfcHdkeAojZGVmaW5lIENMRUFOVVBfcHdkeAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5wd2R4CiNlbmRpZgojZGVmaW5lIEZMQUdfYSAoRk9SQ0VEX0ZMQUc8PDApCiNlbmRpZgoKI2lmZGVmIEZPUl9wd2dlbgojZGVmaW5lIENMRUFOVVBfcHdnZW4KI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMucHdnZW4KI2VuZGlmCiNkZWZpbmUgRkxBR18wIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX0EgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR18xIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX0MgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfaCAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR19CIChGT1JDRURfRkxBRzw8NikKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDw3KQojZGVmaW5lIEZMQUdfeSAoRk9SQ0VEX0ZMQUc8PDgpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8OSkKI2RlZmluZSBGTEFHX2MgKEZPUkNFRF9GTEFHPDwxMCkKI2RlZmluZSBGTEFHX3IgKEZPUkNFRF9GTEFHPDwxMSkKI2VuZGlmCgojaWZkZWYgRk9SX3JlYWRhaGVhZAojZGVmaW5lIENMRUFOVVBfcmVhZGFoZWFkCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnJlYWRhaGVhZAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX3JlYWRlbGYKI2RlZmluZSBDTEVBTlVQX3JlYWRlbGYKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMucmVhZGVsZgojZW5kaWYKI2RlZmluZSBGTEFHX3ggKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfVyAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX1MgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX2wgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfaCAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR19lIChGT1JDRURfRkxBRzw8OCkKI2RlZmluZSBGTEFHX2QgKEZPUkNFRF9GTEFHPDw5KQojZGVmaW5lIEZMQUdfYSAoRk9SQ0VEX0ZMQUc8PDEwKQojZGVmaW5lIEZMQUdfQSAoRk9SQ0VEX0ZMQUc8PDExKQojZGVmaW5lIEZMQUdfZHluX3N5bXMgKEZPUkNFRF9GTEFHPDwxMikKI2VuZGlmCgojaWZkZWYgRk9SX3JlYWRsaW5rCiNkZWZpbmUgQ0xFQU5VUF9yZWFkbGluawojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5yZWFkbGluawojZW5kaWYKI2RlZmluZSBGTEFHX3ogKDFMTDw8MCkKI2RlZmluZSBGTEFHX3EgKDFMTDw8MSkKI2RlZmluZSBGTEFHX20gKDFMTDw8MikKI2RlZmluZSBGTEFHX2UgKDFMTDw8MykKI2RlZmluZSBGTEFHX2YgKDFMTDw8NCkKI2RlZmluZSBGTEFHX24gKDFMTDw8NSkKI2RlZmluZSBGTEFHX3YgKDFMTDw8NikKI2VuZGlmCgojaWZkZWYgRk9SX3JlYWxwYXRoCiNkZWZpbmUgQ0xFQU5VUF9yZWFscGF0aAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5yZWFscGF0aAojZW5kaWYKI2RlZmluZSBGTEFHX3ogKDFMTDw8MCkKI2RlZmluZSBGTEFHX3EgKDFMTDw8MSkKI2RlZmluZSBGTEFHX20gKDFMTDw8MikKI2RlZmluZSBGTEFHX2UgKDFMTDw8MykKI2RlZmluZSBGTEFHX1AgKDFMTDw8NCkKI2RlZmluZSBGTEFHX0wgKDFMTDw8NSkKI2RlZmluZSBGTEFHX3MgKDFMTDw8NikKI2RlZmluZSBGTEFHX1IgKDFMTDw8NykKI2RlZmluZSBGTEFHX3JlbGF0aXZlX2Jhc2UgKDFMTDw8OCkKI2VuZGlmCgojaWZkZWYgRk9SX3JlYm9vdAojZGVmaW5lIENMRUFOVVBfcmVib290CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnJlYm9vdAojZW5kaWYKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfZiAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19kIChGT1JDRURfRkxBRzw8MikKI2VuZGlmCgojaWZkZWYgRk9SX3JlbmljZQojZGVmaW5lIENMRUFOVVBfcmVuaWNlCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnJlbmljZQojZW5kaWYKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfdSAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX2cgKEZPUkNFRF9GTEFHPDwzKQojZW5kaWYKCiNpZmRlZiBGT1JfcmVzZXQKI2RlZmluZSBDTEVBTlVQX3Jlc2V0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnJlc2V0CiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfcmVzdG9yZWNvbgojZGVmaW5lIENMRUFOVVBfcmVzdG9yZWNvbgojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5yZXN0b3JlY29uCiNlbmRpZgojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19yIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX1IgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19GIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX0QgKEZPUkNFRF9GTEFHPDw1KQojZW5kaWYKCiNpZmRlZiBGT1JfcmV2CiNkZWZpbmUgQ0xFQU5VUF9yZXYKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMucmV2CiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfcmZraWxsCiNkZWZpbmUgQ0xFQU5VUF9yZmtpbGwKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMucmZraWxsCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1Jfcm0KI2RlZmluZSBDTEVBTlVQX3JtCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnJtCiNlbmRpZgojZGVmaW5lIEZMQUdfdiAoMUxMPDwwKQojZGVmaW5lIEZMQUdfciAoMUxMPDwxKQojZGVmaW5lIEZMQUdfUiAoMUxMPDwyKQojZGVmaW5lIEZMQUdfaSAoMUxMPDwzKQojZGVmaW5lIEZMQUdfZiAoMUxMPDw0KQojZW5kaWYKCiNpZmRlZiBGT1Jfcm1kaXIKI2RlZmluZSBDTEVBTlVQX3JtZGlyCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnJtZGlyCiNlbmRpZgojZGVmaW5lIEZMQUdfcCAoMUxMPDwwKQojZGVmaW5lIEZMQUdfaWdub3JlX2ZhaWxfb25fbm9uX2VtcHR5ICgxTEw8PDEpCiNlbmRpZgoKI2lmZGVmIEZPUl9ybW1vZAojZGVmaW5lIENMRUFOVVBfcm1tb2QKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMucm1tb2QKI2VuZGlmCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3cgKEZPUkNFRF9GTEFHPDwxKQojZW5kaWYKCiNpZmRlZiBGT1Jfcm91dGUKI2RlZmluZSBDTEVBTlVQX3JvdXRlCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnJvdXRlCiNlbmRpZgojZGVmaW5lIEZMQUdfQSAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19lIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDwyKQojZW5kaWYKCiNpZmRlZiBGT1JfcnRjd2FrZQojZGVmaW5lIENMRUFOVVBfcnRjd2FrZQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5ydGN3YWtlCiNlbmRpZgojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR191IChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19tIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX2wgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX2F1dG8gKEZPUkNFRF9GTEFHPDw4KQojZGVmaW5lIEZMQUdfbGlzdF9tb2RlcyAoRk9SQ0VEX0ZMQUc8PDkpCiNlbmRpZgoKI2lmZGVmIEZPUl9ydW5jb24KI2RlZmluZSBDTEVBTlVQX3J1bmNvbgojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5ydW5jb24KI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9zZWQKI2RlZmluZSBDTEVBTlVQX3NlZAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5zZWQKI2VuZGlmCiNkZWZpbmUgRkxBR19zICgxTEw8PDApCiNkZWZpbmUgRkxBR196ICgxTEw8PDEpCiNkZWZpbmUgRkxBR19yICgxTEw8PDIpCiNkZWZpbmUgRkxBR19FICgxTEw8PDMpCiNkZWZpbmUgRkxBR19uICgxTEw8PDQpCiNkZWZpbmUgRkxBR19pICgxTEw8PDUpCiNkZWZpbmUgRkxBR19mICgxTEw8PDYpCiNkZWZpbmUgRkxBR19lICgxTEw8PDcpCiNkZWZpbmUgRkxBR190YXJ4Zm9ybSAoMUxMPDw4KQojZGVmaW5lIEZMQUdfdmVyc2lvbiAoMUxMPDw5KQojZGVmaW5lIEZMQUdfaGVscCAoMUxMPDwxMCkKI2VuZGlmCgojaWZkZWYgRk9SX3NlbmRldmVudAojZGVmaW5lIENMRUFOVVBfc2VuZGV2ZW50CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnNlbmRldmVudAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX3NlcQojZGVmaW5lIENMRUFOVVBfc2VxCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnNlcQojZW5kaWYKI2RlZmluZSBGTEFHX3cgKDFMTDw8MCkKI2RlZmluZSBGTEFHX3MgKDFMTDw8MSkKI2RlZmluZSBGTEFHX2YgKDFMTDw8MikKI2VuZGlmCgojaWZkZWYgRk9SX3NldAojZGVmaW5lIENMRUFOVVBfc2V0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnNldAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX3NldGVuZm9yY2UKI2RlZmluZSBDTEVBTlVQX3NldGVuZm9yY2UKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuc2V0ZW5mb3JjZQojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX3NldGZhdHRyCiNkZWZpbmUgQ0xFQU5VUF9zZXRmYXR0cgojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5zZXRmYXR0cgojZW5kaWYKI2RlZmluZSBGTEFHX3ggKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX2ggKEZPUkNFRF9GTEFHPDwzKQojZW5kaWYKCiNpZmRlZiBGT1Jfc2V0c2lkCiNkZWZpbmUgQ0xFQU5VUF9zZXRzaWQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuc2V0c2lkCiNlbmRpZgojZGVmaW5lIEZMQUdfZCAoMUxMPDwwKQojZGVmaW5lIEZMQUdfYyAoMUxMPDwxKQojZGVmaW5lIEZMQUdfdyAoMUxMPDwyKQojZW5kaWYKCiNpZmRlZiBGT1Jfc2gKI2RlZmluZSBDTEVBTlVQX3NoCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnNoCiNlbmRpZgojZGVmaW5lIEZMQUdfaSAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfbm9yYyAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19ub3Byb2ZpbGUgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfbm9lZGl0aW5nIChGT1JDRURfRkxBRzw8NSkKI2VuZGlmCgojaWZkZWYgRk9SX3NoYTNzdW0KI2RlZmluZSBDTEVBTlVQX3NoYTNzdW0KI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuc2hhM3N1bQojZW5kaWYKI2RlZmluZSBGTEFHX2EgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfUyAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19iIChGT1JDRURfRkxBRzw8MikKI2VuZGlmCgojaWZkZWYgRk9SX3NoaWZ0CiNkZWZpbmUgQ0xFQU5VUF9zaGlmdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5zaGlmdAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX3NocmVkCiNkZWZpbmUgQ0xFQU5VUF9zaHJlZAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5zaHJlZAojZW5kaWYKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfbyAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfdSAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR194IChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX3ogKEZPUkNFRF9GTEFHPDw2KQojZW5kaWYKCiNpZmRlZiBGT1Jfc2h1ZgojZGVmaW5lIENMRUFOVVBfc2h1ZgojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5zaHVmCiNlbmRpZgojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19lIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3ogKEZPUkNFRF9GTEFHPDwyKQojZW5kaWYKCiNpZmRlZiBGT1Jfc2tlbGV0b24KI2RlZmluZSBDTEVBTlVQX3NrZWxldG9uCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnNrZWxldG9uCiNlbmRpZgojZGVmaW5lIEZMQUdfYSAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19iIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX2MgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19lIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfZyAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19oIChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX2Fsc28gKEZPUkNFRF9GTEFHPDw4KQojZGVmaW5lIEZMQUdfYmx1YmJlciAoRk9SQ0VEX0ZMQUc8PDkpCiNkZWZpbmUgRkxBR193YWxydXMgKEZPUkNFRF9GTEFHPDwxMCkKI2VuZGlmCgojaWZkZWYgRk9SX3NrZWxldG9uX2FsaWFzCiNkZWZpbmUgQ0xFQU5VUF9za2VsZXRvbl9hbGlhcwojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5za2VsZXRvbl9hbGlhcwojZW5kaWYKI2RlZmluZSBGTEFHX3EgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19iIChGT1JDRURfRkxBRzw8MikKI2VuZGlmCgojaWZkZWYgRk9SX3NsZWVwCiNkZWZpbmUgQ0xFQU5VUF9zbGVlcAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5zbGVlcAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX3NudHAKI2RlZmluZSBDTEVBTlVQX3NudHAKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuc250cAojZW5kaWYKI2RlZmluZSBGTEFHX3IgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfcSAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19EIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX2QgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR19TIChGT1JDRURfRkxBRzw8OCkKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDw5KQojZGVmaW5lIEZMQUdfTSAoRk9SQ0VEX0ZMQUc8PDEwKQojZW5kaWYKCiNpZmRlZiBGT1Jfc29ydAojZGVmaW5lIENMRUFOVVBfc29ydAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5zb3J0CiNlbmRpZgojZGVmaW5lIEZMQUdfbiAoMUxMPDwwKQojZGVmaW5lIEZMQUdfdSAoMUxMPDwxKQojZGVmaW5lIEZMQUdfciAoMUxMPDwyKQojZGVmaW5lIEZMQUdfaSAoMUxMPDwzKQojZGVmaW5lIEZMQUdfZiAoMUxMPDw0KQojZGVmaW5lIEZMQUdfZCAoMUxMPDw1KQojZGVmaW5lIEZMQUdfeiAoMUxMPDw2KQojZGVmaW5lIEZMQUdfcyAoMUxMPDw3KQojZGVmaW5lIEZMQUdfYyAoMUxMPDw4KQojZGVmaW5lIEZMQUdfQyAoMUxMPDw5KQojZGVmaW5lIEZMQUdfTSAoMUxMPDwxMCkKI2RlZmluZSBGTEFHX2IgKDFMTDw8MTEpCiNkZWZpbmUgRkxBR19WICgxTEw8PDEyKQojZGVmaW5lIEZMQUdfeCAoMUxMPDwxMykKI2RlZmluZSBGTEFHX3QgKDFMTDw8MTQpCiNkZWZpbmUgRkxBR19rICgxTEw8PDE1KQojZGVmaW5lIEZMQUdfbyAoMUxMPDwxNikKI2RlZmluZSBGTEFHX20gKDFMTDw8MTcpCiNkZWZpbmUgRkxBR19UICgxTEw8PDE4KQojZGVmaW5lIEZMQUdfUyAoMUxMPDwxOSkKI2RlZmluZSBGTEFHX2cgKDFMTDw8MjApCiNlbmRpZgoKI2lmZGVmIEZPUl9zb3VyY2UKI2RlZmluZSBDTEVBTlVQX3NvdXJjZQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5zb3VyY2UKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl9zcGxpdAojZGVmaW5lIENMRUFOVVBfc3BsaXQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuc3BsaXQKI2VuZGlmCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2wgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfYiAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8MykKI2VuZGlmCgojaWZkZWYgRk9SX3N0YXQKI2RlZmluZSBDTEVBTlVQX3N0YXQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuc3RhdAojZW5kaWYKI2RlZmluZSBGTEFHX3QgKDFMTDw8MCkKI2RlZmluZSBGTEFHX0wgKDFMTDw8MSkKI2RlZmluZSBGTEFHX2YgKDFMTDw8MikKI2RlZmluZSBGTEFHX2MgKDFMTDw8MykKI2VuZGlmCgojaWZkZWYgRk9SX3N0cmFjZQojZGVmaW5lIENMRUFOVVBfc3RyYWNlCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnN0cmFjZQojZW5kaWYKI2RlZmluZSBGTEFHX3YgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8MikKI2VuZGlmCgojaWZkZWYgRk9SX3N0cmluZ3MKI2RlZmluZSBDTEVBTlVQX3N0cmluZ3MKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuc3RyaW5ncwojZW5kaWYKI2RlZmluZSBGTEFHX28gKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfZiAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX2EgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfdCAoRk9SQ0VEX0ZMQUc8PDQpCiNlbmRpZgoKI2lmZGVmIEZPUl9zdHR5CiNkZWZpbmUgQ0xFQU5VUF9zdHR5CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnN0dHkKI2VuZGlmCiNkZWZpbmUgRkxBR19nIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX0YgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfYSAoRk9SQ0VEX0ZMQUc8PDIpCiNlbmRpZgoKI2lmZGVmIEZPUl9zdQojZGVmaW5lIENMRUFOVVBfc3UKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuc3UKI2VuZGlmCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2MgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfZyAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR191IChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfbSAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8NikKI2VuZGlmCgojaWZkZWYgRk9SX3N1bG9naW4KI2RlZmluZSBDTEVBTlVQX3N1bG9naW4KI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuc3Vsb2dpbgojZW5kaWYKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDwwKQojZW5kaWYKCiNpZmRlZiBGT1Jfc3dhcG9mZgojZGVmaW5lIENMRUFOVVBfc3dhcG9mZgojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5zd2Fwb2ZmCiNlbmRpZgojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8MSkKI2VuZGlmCgojaWZkZWYgRk9SX3N3YXBvbgojZGVmaW5lIENMRUFOVVBfc3dhcG9uCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnN3YXBvbgojZW5kaWYKI2RlZmluZSBGTEFHX2QgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDEpCiNlbmRpZgoKI2lmZGVmIEZPUl9zd2l0Y2hfcm9vdAojZGVmaW5lIENMRUFOVVBfc3dpdGNoX3Jvb3QKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuc3dpdGNoX3Jvb3QKI2VuZGlmCiNkZWZpbmUgRkxBR19oIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2MgKEZPUkNFRF9GTEFHPDwxKQojZW5kaWYKCiNpZmRlZiBGT1Jfc3luYwojZGVmaW5lIENMRUFOVVBfc3luYwojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy5zeW5jCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1Jfc3lzY3RsCiNkZWZpbmUgQ0xFQU5VUF9zeXNjdGwKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuc3lzY3RsCiNlbmRpZgojZGVmaW5lIEZMQUdfQSAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfdyAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19xIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX04gKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfZSAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8NykKI2VuZGlmCgojaWZkZWYgRk9SX3N5c2xvZ2QKI2RlZmluZSBDTEVBTlVQX3N5c2xvZ2QKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMuc3lzbG9nZAojZW5kaWYKI2RlZmluZSBGTEFHX0QgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfTCAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19LIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX1MgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR19PIChGT1JDRURfRkxBRzw8OCkKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDw5KQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDEwKQojZGVmaW5lIEZMQUdfYiAoRk9SQ0VEX0ZMQUc8PDExKQojZGVmaW5lIEZMQUdfUiAoRk9SQ0VEX0ZMQUc8PDEyKQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDEzKQojZW5kaWYKCiNpZmRlZiBGT1JfdGFjCiNkZWZpbmUgQ0xFQU5VUF90YWMKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudGFjCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfdGFpbAojZGVmaW5lIENMRUFOVVBfdGFpbAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy50YWlsCiNlbmRpZgojZGVmaW5lIEZMQUdfbiAoMUxMPDwwKQojZGVmaW5lIEZMQUdfYyAoMUxMPDwxKQojZGVmaW5lIEZMQUdfcyAoMUxMPDwyKQojZGVmaW5lIEZMQUdfRiAoMUxMPDwzKQojZGVmaW5lIEZMQUdfZiAoMUxMPDw0KQojZW5kaWYKCiNpZmRlZiBGT1JfdGFyCiNkZWZpbmUgQ0xFQU5VUF90YXIKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudGFyCiNlbmRpZgojZGVmaW5lIEZMQUdfcyAoMUxMPDwwKQojZGVmaW5lIEZMQUdfYSAoMUxMPDwxKQojZGVmaW5lIEZMQUdfZiAoMUxMPDwyKQojZGVmaW5lIEZMQUdfQyAoMUxMPDwzKQojZGVmaW5lIEZMQUdfSSAoMUxMPDw0KQojZGVmaW5lIEZMQUdfVCAoMUxMPDw1KQojZGVmaW5lIEZMQUdfWCAoMUxMPDw2KQojZGVmaW5lIEZMQUdfbSAoMUxMPDw3KQojZGVmaW5lIEZMQUdfUCAoMUxMPDw4KQojZGVmaW5lIEZMQUdfTyAoMUxMPDw5KQojZGVmaW5lIEZMQUdfUyAoMUxMPDwxMCkKI2RlZmluZSBGTEFHX3ogKDFMTDw8MTEpCiNkZWZpbmUgRkxBR19qICgxTEw8PDEyKQojZGVmaW5lIEZMQUdfSiAoMUxMPDwxMykKI2RlZmluZSBGTEFHX3YgKDFMTDw8MTQpCiNkZWZpbmUgRkxBR190ICgxTEw8PDE1KQojZGVmaW5lIEZMQUdfeCAoMUxMPDwxNikKI2RlZmluZSBGTEFHX2ggKDFMTDw8MTcpCiNkZWZpbmUgRkxBR19jICgxTEw8PDE4KQojZGVmaW5lIEZMQUdfayAoMUxMPDwxOSkKI2RlZmluZSBGTEFHX3AgKDFMTDw8MjApCiNkZWZpbmUgRkxBR19vICgxTEw8PDIxKQojZGVmaW5lIEZMQUdfeGZvcm0gKDFMTDw8MjIpCiNkZWZpbmUgRkxBR19zdHJpcCAoMUxMPDwyMykKI2RlZmluZSBGTEFHX3RvX2NvbW1hbmQgKDFMTDw8MjQpCiNkZWZpbmUgRkxBR19vd25lciAoMUxMPDwyNSkKI2RlZmluZSBGTEFHX2dyb3VwICgxTEw8PDI2KQojZGVmaW5lIEZMQUdfbXRpbWUgKDFMTDw8MjcpCiNkZWZpbmUgRkxBR19tb2RlICgxTEw8PDI4KQojZGVmaW5lIEZMQUdfc29ydCAoMUxMPDwyOSkKI2RlZmluZSBGTEFHX2V4Y2x1ZGUgKDFMTDw8MzApCiNkZWZpbmUgRkxBR19vdmVyd3JpdGUgKDFMTDw8MzEpCiNkZWZpbmUgRkxBR19ub19zYW1lX3Blcm1pc3Npb25zICgxTEw8PDMyKQojZGVmaW5lIEZMQUdfbnVtZXJpY19vd25lciAoMUxMPDwzMykKI2RlZmluZSBGTEFHX251bGwgKDFMTDw8MzQpCiNkZWZpbmUgRkxBR19ub19yZWN1cnNpb24gKDFMTDw8MzUpCiNkZWZpbmUgRkxBR19mdWxsX3RpbWUgKDFMTDw8MzYpCiNkZWZpbmUgRkxBR19yZXN0cmljdCAoMUxMPDwzNykKI2RlZmluZSBGTEFHX3NlbGludXggKDFMTDw8MzgpCiNkZWZpbmUgRkxBR19zaG93X3RyYW5zZm9ybWVkX25hbWVzICgxTEw8PDM5KQojZGVmaW5lIEZMQUdfd2lsZGNhcmRzX21hdGNoX3NsYXNoICgxTEw8PDQwKQojZGVmaW5lIEZMQUdfbm9fd2lsZGNhcmRzX21hdGNoX3NsYXNoICgxTEw8PDQxKQojZGVmaW5lIEZMQUdfd2lsZGNhcmRzICgxTEw8PDQyKQojZGVmaW5lIEZMQUdfbm9fd2lsZGNhcmRzICgxTEw8PDQzKQojZGVmaW5lIEZMQUdfYW5jaG9yZWQgKDFMTDw8NDQpCiNkZWZpbmUgRkxBR19ub19hbmNob3JlZCAoMUxMPDw0NSkKI2RlZmluZSBGTEFHX2lnbm9yZV9jYXNlICgxTEw8PDQ2KQojZGVmaW5lIEZMQUdfbm9faWdub3JlX2Nhc2UgKDFMTDw8NDcpCiNkZWZpbmUgRkxBR19vbmVfZmlsZV9zeXN0ZW0gKDFMTDw8NDgpCiNlbmRpZgoKI2lmZGVmIEZPUl90YXNrc2V0CiNkZWZpbmUgQ0xFQU5VUF90YXNrc2V0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnRhc2tzZXQKI2VuZGlmCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDwxKQojZW5kaWYKCiNpZmRlZiBGT1JfdGNwc3ZkCiNkZWZpbmUgQ0xFQU5VUF90Y3BzdmQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudGNwc3ZkCiNlbmRpZgojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19FIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX2ggKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR191IChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX0MgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfYiAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19jIChGT1JDRURfRkxBRzw8NykKI2VuZGlmCgojaWZkZWYgRk9SX3RlZQojZGVmaW5lIENMRUFOVVBfdGVlCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnRlZQojZW5kaWYKI2RlZmluZSBGTEFHX2EgKDFMTDw8MCkKI2RlZmluZSBGTEFHX2kgKDFMTDw8MSkKI2VuZGlmCgojaWZkZWYgRk9SX3RlbG5ldAojZGVmaW5lIENMRUFOVVBfdGVsbmV0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnRlbG5ldAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX3RlbG5ldGQKI2RlZmluZSBDTEVBTlVQX3RlbG5ldGQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudGVsbmV0ZAojZW5kaWYKI2RlZmluZSBGTEFHX2kgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfSyAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19TIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX0YgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfbCAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfYiAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR193IChGT1JDRURfRkxBRzw8OCkKI2VuZGlmCgojaWZkZWYgRk9SX3Rlc3QKI2RlZmluZSBDTEVBTlVQX3Rlc3QKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudGVzdAojZW5kaWYKI2VuZGlmCgojaWZkZWYgRk9SX3RmdHAKI2RlZmluZSBDTEVBTlVQX3RmdHAKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudGZ0cAojZW5kaWYKI2RlZmluZSBGTEFHX3AgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfZyAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX3IgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfYiAoRk9SQ0VEX0ZMQUc8PDQpCiNlbmRpZgoKI2lmZGVmIEZPUl90ZnRwZAojZGVmaW5lIENMRUFOVVBfdGZ0cGQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudGZ0cGQKI2VuZGlmCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3UgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfYyAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19yIChGT1JDRURfRkxBRzw8MykKI2VuZGlmCgojaWZkZWYgRk9SX3RpbWUKI2RlZmluZSBDTEVBTlVQX3RpbWUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudGltZQojZW5kaWYKI2RlZmluZSBGTEFHX3YgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDEpCiNlbmRpZgoKI2lmZGVmIEZPUl90aW1lb3V0CiNkZWZpbmUgQ0xFQU5VUF90aW1lb3V0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnRpbWVvdXQKI2VuZGlmCiNkZWZpbmUgRkxBR19pICgxTEw8PDApCiNkZWZpbmUgRkxBR19zICgxTEw8PDEpCiNkZWZpbmUgRkxBR19rICgxTEw8PDIpCiNkZWZpbmUgRkxBR192ICgxTEw8PDMpCiNkZWZpbmUgRkxBR19wcmVzZXJ2ZV9zdGF0dXMgKDFMTDw8NCkKI2RlZmluZSBGTEFHX2ZvcmVncm91bmQgKDFMTDw8NSkKI2VuZGlmCgojaWZkZWYgRk9SX3RvcAojZGVmaW5lIENMRUFOVVBfdG9wCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnRvcAojZW5kaWYKI2RlZmluZSBGTEFHX3EgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfYiAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX3UgKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR19vIChGT1JDRURfRkxBRzw8OCkKI2RlZmluZSBGTEFHX2sgKEZPUkNFRF9GTEFHPDw5KQojZGVmaW5lIEZMQUdfSCAoRk9SQ0VEX0ZMQUc8PDEwKQojZGVmaW5lIEZMQUdfaCAoRk9SQ0VEX0ZMQUc8PDExKQojZGVmaW5lIEZMQUdfTyAoRk9SQ0VEX0ZMQUc8PDEyKQojZW5kaWYKCiNpZmRlZiBGT1JfdG91Y2gKI2RlZmluZSBDTEVBTlVQX3RvdWNoCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnRvdWNoCiNlbmRpZgojZGVmaW5lIEZMQUdfaCAoMUxMPDwwKQojZGVmaW5lIEZMQUdfdCAoMUxMPDwxKQojZGVmaW5lIEZMQUdfciAoMUxMPDwyKQojZGVmaW5lIEZMQUdfbSAoMUxMPDwzKQojZGVmaW5lIEZMQUdfZiAoMUxMPDw0KQojZGVmaW5lIEZMQUdfZCAoMUxMPDw1KQojZGVmaW5lIEZMQUdfYyAoMUxMPDw2KQojZGVmaW5lIEZMQUdfYSAoMUxMPDw3KQojZW5kaWYKCiNpZmRlZiBGT1JfdG95Ym94CiNkZWZpbmUgQ0xFQU5VUF90b3lib3gKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudG95Ym94CiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfdHIKI2RlZmluZSBDTEVBTlVQX3RyCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnRyCiNlbmRpZgojZGVmaW5lIEZMQUdfZCAoMUxMPDwwKQojZGVmaW5lIEZMQUdfdCAoMUxMPDwxKQojZGVmaW5lIEZMQUdfcyAoMUxMPDwyKQojZGVmaW5lIEZMQUdfYyAoMUxMPDwzKQojZGVmaW5lIEZMQUdfQyAoMUxMPDw0KQojZW5kaWYKCiNpZmRlZiBGT1JfdHJhY2Vyb3V0ZQojZGVmaW5lIENMRUFOVVBfdHJhY2Vyb3V0ZQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy50cmFjZXJvdXRlCiNlbmRpZgojZGVmaW5lIEZMQUdfNCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR182IChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX0YgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfVSAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19JIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX2wgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX3YgKEZPUkNFRF9GTEFHPDw4KQojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDkpCiNkZWZpbmUgRkxBR19tIChGT1JDRURfRkxBRzw8MTApCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8MTEpCiNkZWZpbmUgRkxBR19xIChGT1JDRURfRkxBRzw8MTIpCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MTMpCiNkZWZpbmUgRkxBR190IChGT1JDRURfRkxBRzw8MTQpCiNkZWZpbmUgRkxBR193IChGT1JDRURfRkxBRzw8MTUpCiNkZWZpbmUgRkxBR19nIChGT1JDRURfRkxBRzw8MTYpCiNkZWZpbmUgRkxBR196IChGT1JDRURfRkxBRzw8MTcpCiNkZWZpbmUgRkxBR19mIChGT1JDRURfRkxBRzw8MTgpCiNkZWZpbmUgRkxBR19pIChGT1JDRURfRkxBRzw8MTkpCiNlbmRpZgoKI2lmZGVmIEZPUl90cnVlCiNkZWZpbmUgQ0xFQU5VUF90cnVlCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnRydWUKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl90cnVuY2F0ZQojZGVmaW5lIENMRUFOVVBfdHJ1bmNhdGUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudHJ1bmNhdGUKI2VuZGlmCiNkZWZpbmUgRkxBR19jICgxTEw8PDApCiNkZWZpbmUgRkxBR19zICgxTEw8PDEpCiNlbmRpZgoKI2lmZGVmIEZPUl90cwojZGVmaW5lIENMRUFOVVBfdHMKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudHMKI2VuZGlmCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfaSAoRk9SQ0VEX0ZMQUc8PDIpCiNlbmRpZgoKI2lmZGVmIEZPUl90c29ydAojZGVmaW5lIENMRUFOVVBfdHNvcnQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudHNvcnQKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl90dHkKI2RlZmluZSBDTEVBTlVQX3R0eQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy50dHkKI2VuZGlmCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MCkKI2VuZGlmCgojaWZkZWYgRk9SX3R1bmN0bAojZGVmaW5lIENMRUFOVVBfdHVuY3RsCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnR1bmN0bAojZW5kaWYKI2RlZmluZSBGTEFHX1QgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfdSAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19kIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX3QgKEZPUkNFRF9GTEFHPDwzKQojZW5kaWYKCiNpZmRlZiBGT1JfdWNsYW1wc2V0CiNkZWZpbmUgQ0xFQU5VUF91Y2xhbXBzZXQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudWNsYW1wc2V0CiNlbmRpZgojZGVmaW5lIEZMQUdfUiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19NIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfYSAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8NCkKI2VuZGlmCgojaWZkZWYgRk9SX3VsaW1pdAojZGVmaW5lIENMRUFOVVBfdWxpbWl0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnVsaW1pdAojZW5kaWYKI2RlZmluZSBGTEFHX2MgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfZCAoRk9SQ0VEX0ZMQUc8PDEpCiNkZWZpbmUgRkxBR19lIChGT1JDRURfRkxBRzw8MikKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDwzKQojZGVmaW5lIEZMQUdfaSAoRk9SQ0VEX0ZMQUc8PDQpCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8NSkKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDw2KQojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDcpCiNkZWZpbmUgRkxBR19wIChGT1JDRURfRkxBRzw8OCkKI2RlZmluZSBGTEFHX3EgKEZPUkNFRF9GTEFHPDw5KQojZGVmaW5lIEZMQUdfUiAoRk9SQ0VEX0ZMQUc8PDEwKQojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDExKQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDEyKQojZGVmaW5lIEZMQUdfdCAoRk9SQ0VEX0ZMQUc8PDEzKQojZGVmaW5lIEZMQUdfdSAoRk9SQ0VEX0ZMQUc8PDE0KQojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDE1KQojZGVmaW5lIEZMQUdfYSAoRk9SQ0VEX0ZMQUc8PDE2KQojZGVmaW5lIEZMQUdfSCAoRk9SQ0VEX0ZMQUc8PDE3KQojZGVmaW5lIEZMQUdfUyAoRk9SQ0VEX0ZMQUc8PDE4KQojZGVmaW5lIEZMQUdfUCAoRk9SQ0VEX0ZMQUc8PDE5KQojZW5kaWYKCiNpZmRlZiBGT1JfdW1vdW50CiNkZWZpbmUgQ0xFQU5VUF91bW91bnQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudW1vdW50CiNlbmRpZgojZGVmaW5lIEZMQUdfdiAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR190IChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX2EgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDMpCiNkZWZpbmUgRkxBR19sIChGT1JDRURfRkxBRzw8NCkKI2RlZmluZSBGTEFHX2YgKEZPUkNFRF9GTEFHPDw1KQojZGVmaW5lIEZMQUdfRCAoRk9SQ0VEX0ZMQUc8PDYpCiNkZWZpbmUgRkxBR19kIChGT1JDRURfRkxBRzw8NykKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDw4KQojZGVmaW5lIEZMQUdfYyAoRk9SQ0VEX0ZMQUc8PDkpCiNlbmRpZgoKI2lmZGVmIEZPUl91bmFtZQojZGVmaW5lIENMRUFOVVBfdW5hbWUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudW5hbWUKI2VuZGlmCiNkZWZpbmUgRkxBR19zICgxTEw8PDApCiNkZWZpbmUgRkxBR19uICgxTEw8PDEpCiNkZWZpbmUgRkxBR19yICgxTEw8PDIpCiNkZWZpbmUgRkxBR192ICgxTEw8PDMpCiNkZWZpbmUgRkxBR19tICgxTEw8PDQpCiNkZWZpbmUgRkxBR19vICgxTEw8PDUpCiNkZWZpbmUgRkxBR19hICgxTEw8PDYpCiNkZWZpbmUgRkxBR19wICgxTEw8PDcpCiNlbmRpZgoKI2lmZGVmIEZPUl91bmljb2RlCiNkZWZpbmUgQ0xFQU5VUF91bmljb2RlCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnVuaWNvZGUKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl91bmlxCiNkZWZpbmUgQ0xFQU5VUF91bmlxCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnVuaXEKI2VuZGlmCiNkZWZpbmUgRkxBR191ICgxTEw8PDApCiNkZWZpbmUgRkxBR19kICgxTEw8PDEpCiNkZWZpbmUgRkxBR19jICgxTEw8PDIpCiNkZWZpbmUgRkxBR19pICgxTEw8PDMpCiNkZWZpbmUgRkxBR196ICgxTEw8PDQpCiNkZWZpbmUgRkxBR193ICgxTEw8PDUpCiNkZWZpbmUgRkxBR19zICgxTEw8PDYpCiNkZWZpbmUgRkxBR19mICgxTEw8PDcpCiNlbmRpZgoKI2lmZGVmIEZPUl91bml4MmRvcwojZGVmaW5lIENMRUFOVVBfdW5peDJkb3MKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudW5peDJkb3MKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl91bmxpbmsKI2RlZmluZSBDTEVBTlVQX3VubGluawojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy51bmxpbmsKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl91bnNldAojZGVmaW5lIENMRUFOVVBfdW5zZXQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudW5zZXQKI2VuZGlmCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3YgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfZiAoRk9SQ0VEX0ZMQUc8PDIpCiNlbmRpZgoKI2lmZGVmIEZPUl91bnNoYXJlCiNkZWZpbmUgQ0xFQU5VUF91bnNoYXJlCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnVuc2hhcmUKI2VuZGlmCiNkZWZpbmUgRkxBR19VIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX3UgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19uIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfaSAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR19DIChGT1JDRURfRkxBRzw8NikKI2RlZmluZSBGTEFHX3IgKEZPUkNFRF9GTEFHPDw3KQojZGVmaW5lIEZMQUdfZiAoRk9SQ0VEX0ZMQUc8PDgpCiNkZWZpbmUgRkxBR19hIChGT1JDRURfRkxBRzw8OSkKI2VuZGlmCgojaWZkZWYgRk9SX3VwdGltZQojZGVmaW5lIENMRUFOVVBfdXB0aW1lCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnVwdGltZQojZW5kaWYKI2RlZmluZSBGTEFHX3MgKEZPUkNFRF9GTEFHPDwwKQojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDEpCiNlbmRpZgoKI2lmZGVmIEZPUl91c2VyYWRkCiNkZWZpbmUgQ0xFQU5VUF91c2VyYWRkCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnVzZXJhZGQKI2VuZGlmCiNkZWZpbmUgRkxBR19IIChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX0QgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfUyAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR19oIChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX2cgKEZPUkNFRF9GTEFHPDw0KQojZGVmaW5lIEZMQUdfcyAoRk9SQ0VEX0ZMQUc8PDUpCiNkZWZpbmUgRkxBR19HIChGT1JDRURfRkxBRzw8NikKI2RlZmluZSBGTEFHX3UgKEZPUkNFRF9GTEFHPDw3KQojZW5kaWYKCiNpZmRlZiBGT1JfdXNlcmRlbAojZGVmaW5lIENMRUFOVVBfdXNlcmRlbAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy51c2VyZGVsCiNlbmRpZgojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDApCiNlbmRpZgoKI2lmZGVmIEZPUl91c2xlZXAKI2RlZmluZSBDTEVBTlVQX3VzbGVlcAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy51c2xlZXAKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl91dWRlY29kZQojZGVmaW5lIENMRUFOVVBfdXVkZWNvZGUKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudXVkZWNvZGUKI2VuZGlmCiNkZWZpbmUgRkxBR19vIChGT1JDRURfRkxBRzw8MCkKI2VuZGlmCgojaWZkZWYgRk9SX3V1ZW5jb2RlCiNkZWZpbmUgQ0xFQU5VUF91dWVuY29kZQojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy51dWVuY29kZQojZW5kaWYKI2RlZmluZSBGTEFHX20gKEZPUkNFRF9GTEFHPDwwKQojZW5kaWYKCiNpZmRlZiBGT1JfdXVpZGdlbgojZGVmaW5lIENMRUFOVVBfdXVpZGdlbgojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy51dWlkZ2VuCiNlbmRpZgojZGVmaW5lIEZMQUdfciAoRk9SQ0VEX0ZMQUc8PDApCiNlbmRpZgoKI2lmZGVmIEZPUl92Y29uZmlnCiNkZWZpbmUgQ0xFQU5VUF92Y29uZmlnCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnZjb25maWcKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIEZPUl92aQojZGVmaW5lIENMRUFOVVBfdmkKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMudmkKI2VuZGlmCiNkZWZpbmUgRkxBR19zIChGT1JDRURfRkxBRzw8MCkKI2VuZGlmCgojaWZkZWYgRk9SX3Ztc3RhdAojZGVmaW5lIENMRUFOVVBfdm1zdGF0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnZtc3RhdAojZW5kaWYKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDwwKQojZW5kaWYKCiNpZmRlZiBGT1JfdwojZGVmaW5lIENMRUFOVVBfdwojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy53CiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1Jfd2FpdAojZGVmaW5lIENMRUFOVVBfd2FpdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy53YWl0CiNlbmRpZgojZGVmaW5lIEZMQUdfbiAoRk9SQ0VEX0ZMQUc8PDApCiNlbmRpZgoKI2lmZGVmIEZPUl93YXRjaAojZGVmaW5lIENMRUFOVVBfd2F0Y2gKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMud2F0Y2gKI2VuZGlmCiNkZWZpbmUgRkxBR194IChGT1JDRURfRkxBRzw8MCkKI2RlZmluZSBGTEFHX2IgKEZPUkNFRF9GTEFHPDwxKQojZGVmaW5lIEZMQUdfZSAoRk9SQ0VEX0ZMQUc8PDIpCiNkZWZpbmUgRkxBR190IChGT1JDRURfRkxBRzw8MykKI2RlZmluZSBGTEFHX24gKEZPUkNFRF9GTEFHPDw0KQojZW5kaWYKCiNpZmRlZiBGT1Jfd2F0Y2hkb2cKI2RlZmluZSBDTEVBTlVQX3dhdGNoZG9nCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLndhdGNoZG9nCiNlbmRpZgojZGVmaW5lIEZMQUdfVCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR190IChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX0YgKEZPUkNFRF9GTEFHPDwyKQojZW5kaWYKCiNpZmRlZiBGT1Jfd2MKI2RlZmluZSBDTEVBTlVQX3djCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLndjCiNlbmRpZgojZGVmaW5lIEZMQUdfbCAoMUxMPDwwKQojZGVmaW5lIEZMQUdfdyAoMUxMPDwxKQojZGVmaW5lIEZMQUdfbSAoMUxMPDwyKQojZGVmaW5lIEZMQUdfYyAoMUxMPDwzKQojZGVmaW5lIEZMQUdfTCAoMUxMPDw0KQojZW5kaWYKCiNpZmRlZiBGT1Jfd2dldAojZGVmaW5lIENMRUFOVVBfd2dldAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy53Z2V0CiNlbmRpZgojZGVmaW5lIEZMQUdfcCAoRk9SQ0VEX0ZMQUc8PDApCiNkZWZpbmUgRkxBR19PIChGT1JDRURfRkxBRzw8MSkKI2RlZmluZSBGTEFHX2QgKEZPUkNFRF9GTEFHPDwyKQojZGVmaW5lIEZMQUdfbWF4X3JlZGlyZWN0IChGT1JDRURfRkxBRzw8MykKI2VuZGlmCgojaWZkZWYgRk9SX3doaWNoCiNkZWZpbmUgQ0xFQU5VUF93aGljaAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy53aGljaAojZW5kaWYKI2RlZmluZSBGTEFHX2EgKDFMTDw8MCkKI2VuZGlmCgojaWZkZWYgRk9SX3dobwojZGVmaW5lIENMRUFOVVBfd2hvCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLndobwojZW5kaWYKI2RlZmluZSBGTEFHX2EgKEZPUkNFRF9GTEFHPDwwKQojZW5kaWYKCiNpZmRlZiBGT1JfeGFyZ3MKI2RlZmluZSBDTEVBTlVQX3hhcmdzCiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnhhcmdzCiNlbmRpZgojZGVmaW5lIEZMQUdfMCAoMUxMPDwwKQojZGVmaW5lIEZMQUdfcyAoMUxMPDwxKQojZGVmaW5lIEZMQUdfbiAoMUxMPDwyKQojZGVmaW5lIEZMQUdfciAoMUxMPDwzKQojZGVmaW5lIEZMQUdfdCAoMUxMPDw0KQojZGVmaW5lIEZMQUdfcCAoMUxMPDw1KQojZGVmaW5lIEZMQUdfbyAoMUxMPDw2KQojZGVmaW5lIEZMQUdfUCAoMUxMPDw3KQojZGVmaW5lIEZMQUdfRSAoMUxMPDw4KQojZW5kaWYKCiNpZmRlZiBGT1JfeHhkCiNkZWZpbmUgQ0xFQU5VUF94eGQKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMueHhkCiNlbmRpZgojZGVmaW5lIEZMQUdfcyAoMUxMPDwwKQojZGVmaW5lIEZMQUdfciAoMUxMPDwxKQojZGVmaW5lIEZMQUdfcCAoMUxMPDwyKQojZGVmaW5lIEZMQUdfaSAoMUxMPDwzKQojZGVmaW5lIEZMQUdfZSAoMUxMPDw0KQojZGVmaW5lIEZMQUdfZyAoMUxMPDw1KQojZGVmaW5lIEZMQUdfbyAoMUxMPDw2KQojZGVmaW5lIEZMQUdfbCAoMUxMPDw3KQojZGVmaW5lIEZMQUdfYyAoMUxMPDw4KQojZW5kaWYKCiNpZmRlZiBGT1JfeHpjYXQKI2RlZmluZSBDTEVBTlVQX3h6Y2F0CiNpZm5kZWYgVFQKI2RlZmluZSBUVCB0aGlzLnh6Y2F0CiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfeWVzCiNkZWZpbmUgQ0xFQU5VUF95ZXMKI2lmbmRlZiBUVAojZGVmaW5lIFRUIHRoaXMueWVzCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBGT1JfemNhdAojZGVmaW5lIENMRUFOVVBfemNhdAojaWZuZGVmIFRUCiNkZWZpbmUgVFQgdGhpcy56Y2F0CiNlbmRpZgojZGVmaW5lIEZMQUdfOSAoMUxMPDwwKQojZGVmaW5lIEZMQUdfOCAoMUxMPDwxKQojZGVmaW5lIEZMQUdfNyAoMUxMPDwyKQojZGVmaW5lIEZMQUdfNiAoMUxMPDwzKQojZGVmaW5lIEZMQUdfNSAoMUxMPDw0KQojZGVmaW5lIEZMQUdfNCAoMUxMPDw1KQojZGVmaW5lIEZMQUdfMyAoMUxMPDw2KQojZGVmaW5lIEZMQUdfMiAoMUxMPDw3KQojZGVmaW5lIEZMQUdfMSAoMUxMPDw4KQojZGVmaW5lIEZMQUdfdCAoMUxMPDw5KQojZGVmaW5lIEZMQUdfayAoMUxMPDwxMCkKI2RlZmluZSBGTEFHX2YgKDFMTDw8MTEpCiNkZWZpbmUgRkxBR19kICgxTEw8PDEyKQojZGVmaW5lIEZMQUdfYyAoMUxMPDwxMykKI2VuZGlmCgo=