LyoKICogKEMpIENvcHlyaWdodCAyMDAzCiAqIERhdmlkIE38bGxlciBFTFNPRlQgQUcgU3dpdHplcmxhbmQuIGQubXVlbGxlckBlbHNvZnQuY2gKICoKICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKICogcHJvamVjdC4KICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwogKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgogKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKICogTUEgMDIxMTEtMTMwNyBVU0EKICovCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqIE5BTUUJICAgIDogczNjMjR4MC5oCiAqIFZlcnNpb24gIDogMzEuMy4yMDAzCiAqCiAqIGNvbW1vbiBzdHVmZiBmb3IgU0FNU1VORyBTM0MyNFgwIFNvQwogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2lmbmRlZiBfX1MzQzI0WDBfSF9fCiNkZWZpbmUgX19TM0MyNFgwX0hfXwoKdHlwZWRlZiB2b2xhdGlsZSB1OAlTM0MyNFgwX1JFRzg7CnR5cGVkZWYgdm9sYXRpbGUgdTE2CVMzQzI0WDBfUkVHMTY7CnR5cGVkZWYgdm9sYXRpbGUgdTMyCVMzQzI0WDBfUkVHMzI7CgovKiBNZW1vcnkgY29udHJvbGxlciAoc2VlIG1hbnVhbCBjaGFwdGVyIDUpICovCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfUkVHMzIJQldTQ09OOwoJUzNDMjRYMF9SRUczMglCQU5LQ09OWzhdOwoJUzNDMjRYMF9SRUczMglSRUZSRVNIOwoJUzNDMjRYMF9SRUczMglCQU5LU0laRTsKCVMzQzI0WDBfUkVHMzIJTVJTUkI2OwoJUzNDMjRYMF9SRUczMglNUlNSQjc7Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX01FTUNUTDsKCgovKiBVU0IgSE9TVCAoc2VlIG1hbnVhbCBjaGFwdGVyIDEyKSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCUhjUmV2aXNpb247CglTM0MyNFgwX1JFRzMyCUhjQ29udHJvbDsKCVMzQzI0WDBfUkVHMzIJSGNDb21tb25TdGF0dXM7CglTM0MyNFgwX1JFRzMyCUhjSW50ZXJydXB0U3RhdHVzOwoJUzNDMjRYMF9SRUczMglIY0ludGVycnVwdEVuYWJsZTsKCVMzQzI0WDBfUkVHMzIJSGNJbnRlcnJ1cHREaXNhYmxlOwoJUzNDMjRYMF9SRUczMglIY0hDQ0E7CglTM0MyNFgwX1JFRzMyCUhjUGVyaW9kQ3V0dGVuZEVEOwoJUzNDMjRYMF9SRUczMglIY0NvbnRyb2xIZWFkRUQ7CglTM0MyNFgwX1JFRzMyCUhjQ29udHJvbEN1cnJlbnRFRDsKCVMzQzI0WDBfUkVHMzIJSGNCdWxrSGVhZEVEOwoJUzNDMjRYMF9SRUczMglIY0J1bGRDdXJyZW50RUQ7CglTM0MyNFgwX1JFRzMyCUhjRG9uZUhlYWQ7CglTM0MyNFgwX1JFRzMyCUhjUm1JbnRlcnZhbDsKCVMzQzI0WDBfUkVHMzIJSGNGbVJlbWFpbmluZzsKCVMzQzI0WDBfUkVHMzIJSGNGbU51bWJlcjsKCVMzQzI0WDBfUkVHMzIJSGNQZXJpb2RpY1N0YXJ0OwoJUzNDMjRYMF9SRUczMglIY0xTVGhyZXNob2xkOwoJUzNDMjRYMF9SRUczMglIY1JoRGVzY3JpcHRvckE7CglTM0MyNFgwX1JFRzMyCUhjUmhEZXNjcmlwdG9yQjsKCVMzQzI0WDBfUkVHMzIJSGNSaFN0YXR1czsKCVMzQzI0WDBfUkVHMzIJSGNSaFBvcnRTdGF0dXMxOwoJUzNDMjRYMF9SRUczMglIY1JoUG9ydFN0YXR1czI7Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1VTQl9IT1NUOwoKCi8qIElOVEVSUlVQVCAoc2VlIG1hbnVhbCBjaGFwdGVyIDE0KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCVNSQ1BORDsKCVMzQzI0WDBfUkVHMzIJSU5UTU9EOwoJUzNDMjRYMF9SRUczMglJTlRNU0s7CglTM0MyNFgwX1JFRzMyCVBSSU9SSVRZOwoJUzNDMjRYMF9SRUczMglJTlRQTkQ7CglTM0MyNFgwX1JFRzMyCUlOVE9GRlNFVDsKI2lmZGVmIENPTkZJR19TM0MyNDEwCglTM0MyNFgwX1JFRzMyCVNVQlNSQ1BORDsKCVMzQzI0WDBfUkVHMzIJSU5UU1VCTVNLOwojZW5kaWYKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfSU5URVJSVVBUOwoKCi8qIERNQVMgKHNlZSBtYW51YWwgY2hhcHRlciA4KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCURJU1JDOwojaWZkZWYgQ09ORklHX1MzQzI0MTAKCVMzQzI0WDBfUkVHMzIJRElTUkNDOwojZW5kaWYKCVMzQzI0WDBfUkVHMzIJRElEU1Q7CiNpZmRlZiBDT05GSUdfUzNDMjQxMAoJUzNDMjRYMF9SRUczMglESURTVEM7CiNlbmRpZgoJUzNDMjRYMF9SRUczMglEQ09OOwoJUzNDMjRYMF9SRUczMglEU1RBVDsKCVMzQzI0WDBfUkVHMzIJRENTUkM7CglTM0MyNFgwX1JFRzMyCURDRFNUOwoJUzNDMjRYMF9SRUczMglETUFTS1RSSUc7CiNpZmRlZiBDT05GSUdfUzNDMjQwMAoJUzNDMjRYMF9SRUczMglyZXNbMV07CiNlbmRpZgojaWZkZWYgQ09ORklHX1MzQzI0MTAKCVMzQzI0WDBfUkVHMzIJcmVzWzddOwojZW5kaWYKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfRE1BOwoKdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9ETUEJZG1hWzRdOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9ETUFTOwoKCi8qIENMT0NLICYgUE9XRVIgTUFOQUdFTUVOVCAoc2VlIFMzQzI0MDAgbWFudWFsIGNoYXB0ZXIgNikgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgIChzZWUgUzNDMjQxMCBtYW51YWwgY2hhcHRlciA3KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCUxPQ0tUSU1FOwoJUzNDMjRYMF9SRUczMglNUExMQ09OOwoJUzNDMjRYMF9SRUczMglVUExMQ09OOwoJUzNDMjRYMF9SRUczMglDTEtDT047CglTM0MyNFgwX1JFRzMyCUNMS1NMT1c7CglTM0MyNFgwX1JFRzMyCUNMS0RJVk47Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX0NMT0NLX1BPV0VSOwoKCi8qIExDRCBDT05UUk9MTEVSIChzZWUgbWFudWFsIGNoYXB0ZXIgMTUpICovCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfUkVHMzIJTENEQ09OMTsKCVMzQzI0WDBfUkVHMzIJTENEQ09OMjsKCVMzQzI0WDBfUkVHMzIJTENEQ09OMzsKCVMzQzI0WDBfUkVHMzIJTENEQ09ONDsKCVMzQzI0WDBfUkVHMzIJTENEQ09ONTsKCVMzQzI0WDBfUkVHMzIJTENEU0FERFIxOwoJUzNDMjRYMF9SRUczMglMQ0RTQUREUjI7CglTM0MyNFgwX1JFRzMyCUxDRFNBRERSMzsKCVMzQzI0WDBfUkVHMzIJUkVETFVUOwoJUzNDMjRYMF9SRUczMglHUkVFTkxVVDsKCVMzQzI0WDBfUkVHMzIJQkxVRUxVVDsKCVMzQzI0WDBfUkVHMzIJcmVzWzhdOwoJUzNDMjRYMF9SRUczMglESVRITU9ERTsKCVMzQzI0WDBfUkVHMzIJVFBBTDsKI2lmZGVmIENPTkZJR19TM0MyNDEwCglTM0MyNFgwX1JFRzMyCUxDRElOVFBORDsKCVMzQzI0WDBfUkVHMzIJTENEU1JDUE5EOwoJUzNDMjRYMF9SRUczMglMQ0RJTlRNU0s7CglTM0MyNFgwX1JFRzMyCUxQQ1NFTDsKI2VuZGlmCn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX0xDRDsKCgovKiBOQU5EIEZMQVNIIChzZWUgUzNDMjQxMCBtYW51YWwgY2hhcHRlciA2KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCU5GQ09ORjsKCVMzQzI0WDBfUkVHMzIJTkZDTUQ7CglTM0MyNFgwX1JFRzMyCU5GQUREUjsKCVMzQzI0WDBfUkVHMzIJTkZEQVRBOwoJUzNDMjRYMF9SRUczMglORlNUQVQ7CglTM0MyNFgwX1JFRzMyCU5GRUNDOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjQxMF9OQU5EOwoKCi8qIFVBUlQgKHNlZSBtYW51YWwgY2hhcHRlciAxMSkgKi8KdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9SRUczMglVTENPTjsKCVMzQzI0WDBfUkVHMzIJVUNPTjsKCVMzQzI0WDBfUkVHMzIJVUZDT047CglTM0MyNFgwX1JFRzMyCVVNQ09OOwoJUzNDMjRYMF9SRUczMglVVFJTVEFUOwoJUzNDMjRYMF9SRUczMglVRVJTVEFUOwoJUzNDMjRYMF9SRUczMglVRlNUQVQ7CglTM0MyNFgwX1JFRzMyCVVNU1RBVDsKI2lmZGVmIF9fQklHX0VORElBTgoJUzNDMjRYMF9SRUc4CXJlczFbM107CglTM0MyNFgwX1JFRzgJVVRYSDsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CVVSWEg7CiNlbHNlIC8qIExpdHRsZSBFbmRpYW4gKi8KCVMzQzI0WDBfUkVHOAlVVFhIOwoJUzNDMjRYMF9SRUc4CXJlczFbM107CglTM0MyNFgwX1JFRzgJVVJYSDsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwojZW5kaWYKCVMzQzI0WDBfUkVHMzIJVUJSRElWOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9VQVJUOwoKCi8qIFBXTSBUSU1FUiAoc2VlIG1hbnVhbCBjaGFwdGVyIDEwKSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCVRDTlRCOwoJUzNDMjRYMF9SRUczMglUQ01QQjsKCVMzQzI0WDBfUkVHMzIJVENOVE87Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1RJTUVSOwoKdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9SRUczMglUQ0ZHMDsKCVMzQzI0WDBfUkVHMzIJVENGRzE7CglTM0MyNFgwX1JFRzMyCVRDT047CglTM0MyNFgwX1RJTUVSCWNoWzRdOwoJUzNDMjRYMF9SRUczMglUQ05UQjQ7CglTM0MyNFgwX1JFRzMyCVRDTlRPNDsKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfVElNRVJTOwoKCi8qIFVTQiBERVZJQ0UgKHNlZSBtYW51YWwgY2hhcHRlciAxMykgKi8KdHlwZWRlZiBzdHJ1Y3QgewojaWZkZWYgX19CSUdfRU5ESUFOCglTM0MyNFgwX1JFRzgJcmVzWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0ZJRk9fUkVHOwojZWxzZSAvKiAgbGl0dGxlIGVuZGlhbiAqLwoJUzNDMjRYMF9SRUc4CUVQX0ZJRk9fUkVHOwoJUzNDMjRYMF9SRUc4CXJlc1szXTsKI2VuZGlmCn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1VTQl9ERVZfRklGT1M7Cgp0eXBlZGVmIHN0cnVjdCB7CiNpZmRlZiBfX0JJR19FTkRJQU4KCVMzQzI0WDBfUkVHOAlyZXMxWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0RNQV9DT047CglTM0MyNFgwX1JFRzgJcmVzMlszXTsKCVMzQzI0WDBfUkVHOAlFUF9ETUFfVU5JVDsKCVMzQzI0WDBfUkVHOAlyZXMzWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0RNQV9GSUZPOwoJUzNDMjRYMF9SRUc4CXJlczRbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19MOwoJUzNDMjRYMF9SRUc4CXJlczVbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19NOwoJUzNDMjRYMF9SRUc4CXJlczZbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19IOwojZWxzZSAvKiAgbGl0dGxlIGVuZGlhbiAqLwoJUzNDMjRYMF9SRUc4CUVQX0RNQV9DT047CglTM0MyNFgwX1JFRzgJcmVzMVszXTsKCVMzQzI0WDBfUkVHOAlFUF9ETUFfVU5JVDsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0RNQV9GSUZPOwoJUzNDMjRYMF9SRUc4CXJlczNbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19MOwoJUzNDMjRYMF9SRUc4CXJlczRbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19NOwoJUzNDMjRYMF9SRUc4CXJlczVbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19IOwoJUzNDMjRYMF9SRUc4CXJlczZbM107CiNlbmRpZgp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9VU0JfREVWX0RNQVM7Cgp0eXBlZGVmIHN0cnVjdCB7CiNpZmRlZiBfX0JJR19FTkRJQU4KCVMzQzI0WDBfUkVHOAlyZXMxWzNdOwoJUzNDMjRYMF9SRUc4CUZVTkNfQUREUl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMlszXTsKCVMzQzI0WDBfUkVHOAlQV1JfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczNbM107CglTM0MyNFgwX1JFRzgJRVBfSU5UX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM0WzE1XTsKCVMzQzI0WDBfUkVHOAlVU0JfSU5UX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM1WzNdOwoJUzNDMjRYMF9SRUc4CUVQX0lOVF9FTl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzNlsxNV07CglTM0MyNFgwX1JFRzgJVVNCX0lOVF9FTl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzN1szXTsKCVMzQzI0WDBfUkVHOAlGUkFNRV9OVU0xX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM4WzNdOwoJUzNDMjRYMF9SRUc4CUZSQU1FX05VTTJfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczlbM107CglTM0MyNFgwX1JFRzgJSU5ERVhfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczEwWzddOwoJUzNDMjRYMF9SRUc4CU1BWFBfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczExWzNdOwoJUzNDMjRYMF9SRUc4CUVQMF9DU1JfSU5fQ1NSMV9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMTJbM107CglTM0MyNFgwX1JFRzgJSU5fQ1NSMl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMTNbN107CglTM0MyNFgwX1JFRzgJT1VUX0NTUjFfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczE0WzNdOwoJUzNDMjRYMF9SRUc4CU9VVF9DU1IyX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNVszXTsKCVMzQzI0WDBfUkVHOAlPVVRfRklGT19DTlQxX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNlszXTsKCVMzQzI0WDBfUkVHOAlPVVRfRklGT19DTlQyX1JFRzsKI2Vsc2UgLyogIGxpdHRsZSBlbmRpYW4gKi8KCVMzQzI0WDBfUkVHOAlGVU5DX0FERFJfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczFbM107CglTM0MyNFgwX1JFRzgJUFdSX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0lOVF9SRUc7CglTM0MyNFgwX1JFRzgJcmVzM1sxNV07CglTM0MyNFgwX1JFRzgJVVNCX0lOVF9SRUc7CglTM0MyNFgwX1JFRzgJcmVzNFszXTsKCVMzQzI0WDBfUkVHOAlFUF9JTlRfRU5fUkVHOwoJUzNDMjRYMF9SRUc4CXJlczVbMTVdOwoJUzNDMjRYMF9SRUc4CVVTQl9JTlRfRU5fUkVHOwoJUzNDMjRYMF9SRUc4CXJlczZbM107CglTM0MyNFgwX1JFRzgJRlJBTUVfTlVNMV9SRUc7CglTM0MyNFgwX1JFRzgJcmVzN1szXTsKCVMzQzI0WDBfUkVHOAlGUkFNRV9OVU0yX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM4WzNdOwoJUzNDMjRYMF9SRUc4CUlOREVYX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM5WzddOwoJUzNDMjRYMF9SRUc4CU1BWFBfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczEwWzddOwoJUzNDMjRYMF9SRUc4CUVQMF9DU1JfSU5fQ1NSMV9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMTFbM107CglTM0MyNFgwX1JFRzgJSU5fQ1NSMl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMTJbM107CglTM0MyNFgwX1JFRzgJT1VUX0NTUjFfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczEzWzddOwoJUzNDMjRYMF9SRUc4CU9VVF9DU1IyX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNFszXTsKCVMzQzI0WDBfUkVHOAlPVVRfRklGT19DTlQxX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNVszXTsKCVMzQzI0WDBfUkVHOAlPVVRfRklGT19DTlQyX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNlszXTsKI2VuZGlmIC8qICBfX0JJR19FTkRJQU4gKi8KCVMzQzI0WDBfVVNCX0RFVl9GSUZPUwlmaWZvWzVdOwoJUzNDMjRYMF9VU0JfREVWX0RNQVMJZG1hWzVdOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9VU0JfREVWSUNFOwoKCi8qIFdBVENIIERPRyBUSU1FUiAoc2VlIG1hbnVhbCBjaGFwdGVyIDE4KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCVdUQ09OOwoJUzNDMjRYMF9SRUczMglXVERBVDsKCVMzQzI0WDBfUkVHMzIJV1RDTlQ7Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1dBVENIRE9HOwoKCi8qIElJQyAoc2VlIG1hbnVhbCBjaGFwdGVyIDIwKSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCUlJQ0NPTjsKCVMzQzI0WDBfUkVHMzIJSUlDU1RBVDsKCVMzQzI0WDBfUkVHMzIJSUlDQUREOwoJUzNDMjRYMF9SRUczMglJSUNEUzsKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfSTJDOwoKCi8qIElJUyAoc2VlIG1hbnVhbCBjaGFwdGVyIDIxKSAqLwp0eXBlZGVmIHN0cnVjdCB7CiNpZmRlZiBfX0JJR19FTkRJQU4KCVMzQzI0WDBfUkVHMTYJcmVzMTsKCVMzQzI0WDBfUkVHMTYJSUlTQ09OOwoJUzNDMjRYMF9SRUcxNglyZXMyOwoJUzNDMjRYMF9SRUcxNglJSVNNT0Q7CglTM0MyNFgwX1JFRzE2CXJlczM7CglTM0MyNFgwX1JFRzE2CUlJU1BTUjsKCVMzQzI0WDBfUkVHMTYJcmVzNDsKCVMzQzI0WDBfUkVHMTYJSUlTRkNPTjsKCVMzQzI0WDBfUkVHMTYJcmVzNTsKCVMzQzI0WDBfUkVHMTYJSUlTRklGTzsKI2Vsc2UgLyogIGxpdHRsZSBlbmRpYW4gKi8KCVMzQzI0WDBfUkVHMTYJSUlTQ09OOwoJUzNDMjRYMF9SRUcxNglyZXMxOwoJUzNDMjRYMF9SRUcxNglJSVNNT0Q7CglTM0MyNFgwX1JFRzE2CXJlczI7CglTM0MyNFgwX1JFRzE2CUlJU1BTUjsKCVMzQzI0WDBfUkVHMTYJcmVzMzsKCVMzQzI0WDBfUkVHMTYJSUlTRkNPTjsKCVMzQzI0WDBfUkVHMTYJcmVzNDsKCVMzQzI0WDBfUkVHMTYJSUlTRklGTzsKCVMzQzI0WDBfUkVHMTYJcmVzNTsKI2VuZGlmCn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX0kyUzsKCgovKiBJL08gUE9SVCAoc2VlIG1hbnVhbCBjaGFwdGVyIDkpICovCnR5cGVkZWYgc3RydWN0IHsKI2lmZGVmIENPTkZJR19TM0MyNDAwCglTM0MyNFgwX1JFRzMyCVBBQ09OOwoJUzNDMjRYMF9SRUczMglQQURBVDsKCglTM0MyNFgwX1JFRzMyCVBCQ09OOwoJUzNDMjRYMF9SRUczMglQQkRBVDsKCVMzQzI0WDBfUkVHMzIJUEJVUDsKCglTM0MyNFgwX1JFRzMyCVBDQ09OOwoJUzNDMjRYMF9SRUczMglQQ0RBVDsKCVMzQzI0WDBfUkVHMzIJUENVUDsKCglTM0MyNFgwX1JFRzMyCVBEQ09OOwoJUzNDMjRYMF9SRUczMglQRERBVDsKCVMzQzI0WDBfUkVHMzIJUERVUDsKCglTM0MyNFgwX1JFRzMyCVBFQ09OOwoJUzNDMjRYMF9SRUczMglQRURBVDsKCVMzQzI0WDBfUkVHMzIJUEVVUDsKCglTM0MyNFgwX1JFRzMyCVBGQ09OOwoJUzNDMjRYMF9SRUczMglQRkRBVDsKCVMzQzI0WDBfUkVHMzIJUEZVUDsKCglTM0MyNFgwX1JFRzMyCVBHQ09OOwoJUzNDMjRYMF9SRUczMglQR0RBVDsKCVMzQzI0WDBfUkVHMzIJUEdVUDsKCglTM0MyNFgwX1JFRzMyCU9QRU5DUjsKCglTM0MyNFgwX1JFRzMyCU1JU0NDUjsKCVMzQzI0WDBfUkVHMzIJRVhUSU5UOwojZW5kaWYKI2lmZGVmIENPTkZJR19TM0MyNDEwCglTM0MyNFgwX1JFRzMyCUdQQUNPTjsKCVMzQzI0WDBfUkVHMzIJR1BBREFUOwoJUzNDMjRYMF9SRUczMglyZXMxWzJdOwoJUzNDMjRYMF9SRUczMglHUEJDT047CglTM0MyNFgwX1JFRzMyCUdQQkRBVDsKCVMzQzI0WDBfUkVHMzIJR1BCVVA7CglTM0MyNFgwX1JFRzMyCXJlczI7CglTM0MyNFgwX1JFRzMyCUdQQ0NPTjsKCVMzQzI0WDBfUkVHMzIJR1BDREFUOwoJUzNDMjRYMF9SRUczMglHUENVUDsKCVMzQzI0WDBfUkVHMzIJcmVzMzsKCVMzQzI0WDBfUkVHMzIJR1BEQ09OOwoJUzNDMjRYMF9SRUczMglHUEREQVQ7CglTM0MyNFgwX1JFRzMyCUdQRFVQOwoJUzNDMjRYMF9SRUczMglyZXM0OwoJUzNDMjRYMF9SRUczMglHUEVDT047CglTM0MyNFgwX1JFRzMyCUdQRURBVDsKCVMzQzI0WDBfUkVHMzIJR1BFVVA7CglTM0MyNFgwX1JFRzMyCXJlczU7CglTM0MyNFgwX1JFRzMyCUdQRkNPTjsKCVMzQzI0WDBfUkVHMzIJR1BGREFUOwoJUzNDMjRYMF9SRUczMglHUEZVUDsKCVMzQzI0WDBfUkVHMzIJcmVzNjsKCVMzQzI0WDBfUkVHMzIJR1BHQ09OOwoJUzNDMjRYMF9SRUczMglHUEdEQVQ7CglTM0MyNFgwX1JFRzMyCUdQR1VQOwoJUzNDMjRYMF9SRUczMglyZXM3OwoJUzNDMjRYMF9SRUczMglHUEhDT047CglTM0MyNFgwX1JFRzMyCUdQSERBVDsKCVMzQzI0WDBfUkVHMzIJR1BIVVA7CglTM0MyNFgwX1JFRzMyCXJlczg7CgoJUzNDMjRYMF9SRUczMglNSVNDQ1I7CglTM0MyNFgwX1JFRzMyCURDTEtDT047CglTM0MyNFgwX1JFRzMyCUVYVElOVDA7CglTM0MyNFgwX1JFRzMyCUVYVElOVDE7CglTM0MyNFgwX1JFRzMyCUVYVElOVDI7CglTM0MyNFgwX1JFRzMyCUVJTlRGTFQwOwoJUzNDMjRYMF9SRUczMglFSU5URkxUMTsKCVMzQzI0WDBfUkVHMzIJRUlOVEZMVDI7CglTM0MyNFgwX1JFRzMyCUVJTlRGTFQzOwoJUzNDMjRYMF9SRUczMglFSU5UTUFTSzsKCVMzQzI0WDBfUkVHMzIJRUlOVFBFTkQ7CglTM0MyNFgwX1JFRzMyCUdTVEFUVVMwOwoJUzNDMjRYMF9SRUczMglHU1RBVFVTMTsKCVMzQzI0WDBfUkVHMzIJR1NUQVRVUzI7CglTM0MyNFgwX1JFRzMyCUdTVEFUVVMzOwoJUzNDMjRYMF9SRUczMglHU1RBVFVTNDsKI2VuZGlmCn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX0dQSU87CgoKLyogUlRDIChzZWUgbWFudWFsIGNoYXB0ZXIgMTcpICovCnR5cGVkZWYgc3RydWN0IHsKI2lmZGVmIF9fQklHX0VORElBTgoJUzNDMjRYMF9SRUc4CXJlczFbNjddOwoJUzNDMjRYMF9SRUc4CVJUQ0NPTjsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CVRJQ05UOwoJUzNDMjRYMF9SRUc4CXJlczNbMTFdOwoJUzNDMjRYMF9SRUc4CVJUQ0FMTTsKCVMzQzI0WDBfUkVHOAlyZXM0WzNdOwoJUzNDMjRYMF9SRUc4CUFMTVNFQzsKCVMzQzI0WDBfUkVHOAlyZXM1WzNdOwoJUzNDMjRYMF9SRUc4CUFMTU1JTjsKCVMzQzI0WDBfUkVHOAlyZXM2WzNdOwoJUzNDMjRYMF9SRUc4CUFMTUhPVVI7CglTM0MyNFgwX1JFRzgJcmVzN1szXTsKCVMzQzI0WDBfUkVHOAlBTE1EQVRFOwoJUzNDMjRYMF9SRUc4CXJlczhbM107CglTM0MyNFgwX1JFRzgJQUxNTU9OOwoJUzNDMjRYMF9SRUc4CXJlczlbM107CglTM0MyNFgwX1JFRzgJQUxNWUVBUjsKCVMzQzI0WDBfUkVHOAlyZXMxMFszXTsKCVMzQzI0WDBfUkVHOAlSVENSU1Q7CglTM0MyNFgwX1JFRzgJcmVzMTFbM107CglTM0MyNFgwX1JFRzgJQkNEU0VDOwoJUzNDMjRYMF9SRUc4CXJlczEyWzNdOwoJUzNDMjRYMF9SRUc4CUJDRE1JTjsKCVMzQzI0WDBfUkVHOAlyZXMxM1szXTsKCVMzQzI0WDBfUkVHOAlCQ0RIT1VSOwoJUzNDMjRYMF9SRUc4CXJlczE0WzNdOwoJUzNDMjRYMF9SRUc4CUJDRERBVEU7CglTM0MyNFgwX1JFRzgJcmVzMTVbM107CglTM0MyNFgwX1JFRzgJQkNEREFZOwoJUzNDMjRYMF9SRUc4CXJlczE2WzNdOwoJUzNDMjRYMF9SRUc4CUJDRE1PTjsKCVMzQzI0WDBfUkVHOAlyZXMxN1szXTsKCVMzQzI0WDBfUkVHOAlCQ0RZRUFSOwojZWxzZSAvKiAgbGl0dGxlIGVuZGlhbiAqLwoJUzNDMjRYMF9SRUc4CXJlczBbNjRdOwoJUzNDMjRYMF9SRUc4CVJUQ0NPTjsKCVMzQzI0WDBfUkVHOAlyZXMxWzNdOwoJUzNDMjRYMF9SRUc4CVRJQ05UOwoJUzNDMjRYMF9SRUc4CXJlczJbMTFdOwoJUzNDMjRYMF9SRUc4CVJUQ0FMTTsKCVMzQzI0WDBfUkVHOAlyZXMzWzNdOwoJUzNDMjRYMF9SRUc4CUFMTVNFQzsKCVMzQzI0WDBfUkVHOAlyZXM0WzNdOwoJUzNDMjRYMF9SRUc4CUFMTU1JTjsKCVMzQzI0WDBfUkVHOAlyZXM1WzNdOwoJUzNDMjRYMF9SRUc4CUFMTUhPVVI7CglTM0MyNFgwX1JFRzgJcmVzNlszXTsKCVMzQzI0WDBfUkVHOAlBTE1EQVRFOwoJUzNDMjRYMF9SRUc4CXJlczdbM107CglTM0MyNFgwX1JFRzgJQUxNTU9OOwoJUzNDMjRYMF9SRUc4CXJlczhbM107CglTM0MyNFgwX1JFRzgJQUxNWUVBUjsKCVMzQzI0WDBfUkVHOAlyZXM5WzNdOwoJUzNDMjRYMF9SRUc4CVJUQ1JTVDsKCVMzQzI0WDBfUkVHOAlyZXMxMFszXTsKCVMzQzI0WDBfUkVHOAlCQ0RTRUM7CglTM0MyNFgwX1JFRzgJcmVzMTFbM107CglTM0MyNFgwX1JFRzgJQkNETUlOOwoJUzNDMjRYMF9SRUc4CXJlczEyWzNdOwoJUzNDMjRYMF9SRUc4CUJDREhPVVI7CglTM0MyNFgwX1JFRzgJcmVzMTNbM107CglTM0MyNFgwX1JFRzgJQkNEREFURTsKCVMzQzI0WDBfUkVHOAlyZXMxNFszXTsKCVMzQzI0WDBfUkVHOAlCQ0REQVk7CglTM0MyNFgwX1JFRzgJcmVzMTVbM107CglTM0MyNFgwX1JFRzgJQkNETU9OOwoJUzNDMjRYMF9SRUc4CXJlczE2WzNdOwoJUzNDMjRYMF9SRUc4CUJDRFlFQVI7CglTM0MyNFgwX1JFRzgJcmVzMTdbM107CiNlbmRpZgp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9SVEM7CgoKLyogQURDIChzZWUgbWFudWFsIGNoYXB0ZXIgMTYpICovCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfUkVHMzIJQURDQ09OOwoJUzNDMjRYMF9SRUczMglBRENEQVQ7Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNDAwX0FEQzsKCgovKiBBREMgKHNlZSBtYW51YWwgY2hhcHRlciAxNikgKi8KdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9SRUczMglBRENDT047CglTM0MyNFgwX1JFRzMyCUFEQ1RTQzsKCVMzQzI0WDBfUkVHMzIJQURDRExZOwoJUzNDMjRYMF9SRUczMglBRENEQVQwOwoJUzNDMjRYMF9SRUczMglBRENEQVQxOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjQxMF9BREM7CgoKLyogU1BJIChzZWUgbWFudWFsIGNoYXB0ZXIgMjIpICovCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfUkVHOAlTUENPTjsKCVMzQzI0WDBfUkVHOAlyZXMxWzNdOwoJUzNDMjRYMF9SRUc4CVNQU1RBOwoJUzNDMjRYMF9SRUc4CXJlczJbM107CglTM0MyNFgwX1JFRzgJU1BQSU47CglTM0MyNFgwX1JFRzgJcmVzM1szXTsKCVMzQzI0WDBfUkVHOAlTUFBSRTsKCVMzQzI0WDBfUkVHOAlyZXM0WzNdOwoJUzNDMjRYMF9SRUc4CVNQVERBVDsKCVMzQzI0WDBfUkVHOAlyZXM1WzNdOwoJUzNDMjRYMF9SRUc4CVNQUkRBVDsKCVMzQzI0WDBfUkVHOAlyZXM2WzNdOwoJUzNDMjRYMF9SRUc4CXJlczdbMTZdOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9TUElfQ0hBTk5FTDsKCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfU1BJX0NIQU5ORUwJY2hbUzNDMjRYMF9TUElfQ0hBTk5FTFNdOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9TUEk7CgoKLyogTU1DIElOVEVSRkFDRSAoc2VlIFMzQzI0MDAgbWFudWFsIGNoYXB0ZXIgMTkpICovCnR5cGVkZWYgc3RydWN0IHsKI2lmZGVmIF9fQklHX0VORElBTgoJUzNDMjRYMF9SRUc4CXJlczFbM107CglTM0MyNFgwX1JFRzgJTU1DT047CglTM0MyNFgwX1JFRzgJcmVzMlszXTsKCVMzQzI0WDBfUkVHOAlNTUNSUjsKCVMzQzI0WDBfUkVHOAlyZXMzWzNdOwoJUzNDMjRYMF9SRUc4CU1NRkNPTjsKCVMzQzI0WDBfUkVHOAlyZXM0WzNdOwoJUzNDMjRYMF9SRUc4CU1NU1RBOwoJUzNDMjRYMF9SRUcxNglyZXM1OwoJUzNDMjRYMF9SRUcxNglNTUZTVEE7CglTM0MyNFgwX1JFRzgJcmVzNlszXTsKCVMzQzI0WDBfUkVHOAlNTVBSRTsKCVMzQzI0WDBfUkVHMTYJcmVzNzsKCVMzQzI0WDBfUkVHMTYJTU1MRU47CglTM0MyNFgwX1JFRzgJcmVzOFszXTsKCVMzQzI0WDBfUkVHOAlNTUNSNzsKCVMzQzI0WDBfUkVHMzIJTU1SU1BbNF07CglTM0MyNFgwX1JFRzgJcmVzOVszXTsKCVMzQzI0WDBfUkVHOAlNTUNNRDA7CglTM0MyNFgwX1JFRzMyCU1NQ01EMTsKCVMzQzI0WDBfUkVHMTYJcmVzMTA7CglTM0MyNFgwX1JFRzE2CU1NQ1IxNjsKCVMzQzI0WDBfUkVHOAlyZXMxMVszXTsKCVMzQzI0WDBfUkVHOAlNTURBVDsKI2Vsc2UKCVMzQzI0WDBfUkVHOAlNTUNPTjsKCVMzQzI0WDBfUkVHOAlyZXMxWzNdOwoJUzNDMjRYMF9SRUc4CU1NQ1JSOwoJUzNDMjRYMF9SRUc4CXJlczJbM107CglTM0MyNFgwX1JFRzgJTU1GQ09OOwoJUzNDMjRYMF9SRUc4CXJlczNbM107CglTM0MyNFgwX1JFRzgJTU1TVEE7CglTM0MyNFgwX1JFRzgJcmVzNFszXTsKCVMzQzI0WDBfUkVHMTYJTU1GU1RBOwoJUzNDMjRYMF9SRUcxNglyZXM1OwoJUzNDMjRYMF9SRUc4CU1NUFJFOwoJUzNDMjRYMF9SRUc4CXJlczZbM107CglTM0MyNFgwX1JFRzE2CU1NTEVOOwoJUzNDMjRYMF9SRUcxNglyZXM3OwoJUzNDMjRYMF9SRUc4CU1NQ1I3OwoJUzNDMjRYMF9SRUc4CXJlczhbM107CglTM0MyNFgwX1JFRzMyCU1NUlNQWzRdOwoJUzNDMjRYMF9SRUc4CU1NQ01EMDsKCVMzQzI0WDBfUkVHOAlyZXM5WzNdOwoJUzNDMjRYMF9SRUczMglNTUNNRDE7CglTM0MyNFgwX1JFRzE2CU1NQ1IxNjsKCVMzQzI0WDBfUkVHMTYJcmVzMTA7CglTM0MyNFgwX1JFRzgJTU1EQVQ7CglTM0MyNFgwX1JFRzgJcmVzMTFbM107CiNlbmRpZgp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjQwMF9NTUM7CgoKLyogU0QgSU5URVJGQUNFIChzZWUgUzNDMjQxMCBtYW51YWwgY2hhcHRlciAxOSkgKi8KdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9SRUczMglTRElDT047CglTM0MyNFgwX1JFRzMyCVNESVBSRTsKCVMzQzI0WDBfUkVHMzIJU0RJQ0FSRzsKCVMzQzI0WDBfUkVHMzIJU0RJQ0NPTjsKCVMzQzI0WDBfUkVHMzIJU0RJQ1NUQTsKCVMzQzI0WDBfUkVHMzIJU0RJUlNQMDsKCVMzQzI0WDBfUkVHMzIJU0RJUlNQMTsKCVMzQzI0WDBfUkVHMzIJU0RJUlNQMjsKCVMzQzI0WDBfUkVHMzIJU0RJUlNQMzsKCVMzQzI0WDBfUkVHMzIJU0RJRFRJTUVSOwoJUzNDMjRYMF9SRUczMglTRElCU0laRTsKCVMzQzI0WDBfUkVHMzIJU0RJRENPTjsKCVMzQzI0WDBfUkVHMzIJU0RJRENOVDsKCVMzQzI0WDBfUkVHMzIJU0RJRFNUQTsKCVMzQzI0WDBfUkVHMzIJU0RJRlNUQTsKI2lmZGVmIF9fQklHX0VORElBTgoJUzNDMjRYMF9SRUc4CXJlc1szXTsKCVMzQzI0WDBfUkVHOAlTRElEQVQ7CiNlbHNlCglTM0MyNFgwX1JFRzgJU0RJREFUOwoJUzNDMjRYMF9SRUc4CXJlc1szXTsKI2VuZGlmCglTM0MyNFgwX1JFRzMyCVNESUlNU0s7Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNDEwX1NESTsKCgojaWYgMAovKiBNZW1vcnkgY29udHJvbCAqLwojZGVmaW5lIHJCV1NDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMDApCiNkZWZpbmUgckJBTktDT04wCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMDQpCiNkZWZpbmUgckJBTktDT04xCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMDgpCiNkZWZpbmUgckJBTktDT04yCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMEMpCiNkZWZpbmUgckJBTktDT04zCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMTApCiNkZWZpbmUgckJBTktDT040CQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMTQpCiNkZWZpbmUgckJBTktDT041CQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMTgpCiNkZWZpbmUgckJBTktDT042CQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMUMpCiNkZWZpbmUgckJBTktDT043CQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMjApCiNkZWZpbmUgclJFRlJFU0gJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAyNCkKI2RlZmluZSByQkFOS1NJWkUJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAyOCkKI2RlZmluZSByTVJTUkI2CQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDJDKQojZGVmaW5lIHJNUlNSQjcJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMzApCgoKLyogVVNCIEhPU1QgKi8KI2RlZmluZSBySGNSZXZpc2lvbgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDAwKQojZGVmaW5lIHJIY0NvbnRyb2wJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAwNCkKI2RlZmluZSBySGNDb21tb25TdGF0dXMJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAwOCkKI2RlZmluZSBySGNJbnRlcnJ1cHRTdGF0dXMJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDBDKQojZGVmaW5lIHJIY0ludGVycnVwdEVuYWJsZQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMTApCiNkZWZpbmUgckhjSW50ZXJydXB0RGlzYWJsZQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMTQpCiNkZWZpbmUgckhjSENDQQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAxOCkKI2RlZmluZSBySGNQZXJpb2RDdXR0ZW5kRUQJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDFDKQojZGVmaW5lIHJIY0NvbnRyb2xIZWFkRUQJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDIwKQojZGVmaW5lIHJIY0NvbnRyb2xDdXJyZW50RUQJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDI0KQojZGVmaW5lIHJIY0J1bGtIZWFkRUQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAyOCkKI2RlZmluZSBySGNCdWxkQ3VycmVudEVECSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAyQykKI2RlZmluZSBySGNEb25lSGVhZAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDMwKQojZGVmaW5lIHJIY1JtSW50ZXJ2YWwJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAzNCkKI2RlZmluZSBySGNGbVJlbWFpbmluZwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDM4KQojZGVmaW5lIHJIY0ZtTnVtYmVyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwM0MpCiNkZWZpbmUgckhjUGVyaW9kaWNTdGFydAkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwNDApCiNkZWZpbmUgckhjTFNUaHJlc2hvbGQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDA0NCkKI2RlZmluZSBySGNSaERlc2NyaXB0b3JBCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDA0OCkKI2RlZmluZSBySGNSaERlc2NyaXB0b3JCCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDA0QykKI2RlZmluZSBySGNSaFN0YXR1cwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDUwKQojZGVmaW5lIHJIY1JoUG9ydFN0YXR1czEJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDU0KQojZGVmaW5lIHJIY1JoUG9ydFN0YXR1czIJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDU4KQoKCi8qIElOVEVSUlVQVCAqLwojZGVmaW5lIHJTUkNQTkQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEEwMDAwMDApCiNkZWZpbmUgcklOVE1PRAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QTAwMDAwNCkKI2RlZmluZSBySU5UTVNLCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRBMDAwMDA4KQojZGVmaW5lIHJQUklPUklUWQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRBMDAwMDBDKQojZGVmaW5lIHJJTlRQTkQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEEwMDAwMTApCiNkZWZpbmUgcklOVE9GRlNFVAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRBMDAwMDE0KQojZGVmaW5lIHJTVUJTUkNQTkQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QTAwMDAxOCkKI2RlZmluZSBySU5UU1VCTVNLCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEEwMDAwMUMpCgoKLyogRE1BICovCiNkZWZpbmUgckRJU1JDMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDAwMCkKI2RlZmluZSByRElTUkNDMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDA0KQojZGVmaW5lIHJESURTVDAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwMDgpCiNkZWZpbmUgckRJRFNUQzAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDAwQykKI2RlZmluZSByRENPTjAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwMTApCiNkZWZpbmUgckRTVEFUMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDAxNCkKI2RlZmluZSByRENTUkMwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDE4KQojZGVmaW5lIHJEQ0RTVDAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwMUMpCiNkZWZpbmUgckRNQVNLVFJJRzAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDAyMCkKI2RlZmluZSByRElTUkMxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDQwKQojZGVmaW5lIHJESVNSQ0MxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwNDQpCiNkZWZpbmUgckRJRFNUMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA0OCkKI2RlZmluZSByRElEU1RDMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDRDKQojZGVmaW5lIHJEQ09OMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA1MCkKI2RlZmluZSByRFNUQVQxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDU0KQojZGVmaW5lIHJEQ1NSQzEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwNTgpCiNkZWZpbmUgckRDRFNUMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA1QykKI2RlZmluZSByRE1BU0tUUklHMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDYwKQojZGVmaW5lIHJESVNSQzIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwODApCiNkZWZpbmUgckRJU1JDQzIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA4NCkKI2RlZmluZSByRElEU1QyCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDg4KQojZGVmaW5lIHJESURTVEMyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwOEMpCiNkZWZpbmUgckRDT04yCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDkwKQojZGVmaW5lIHJEU1RBVDIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwOTQpCiNkZWZpbmUgckRDU1JDMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA5OCkKI2RlZmluZSByRENEU1QyCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDlDKQojZGVmaW5lIHJETUFTS1RSSUcyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwQTApCiNkZWZpbmUgckRJU1JDMwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDBDMCkKI2RlZmluZSByRElTUkNDMwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMEM0KQojZGVmaW5lIHJESURTVDMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwQzgpCiNkZWZpbmUgckRJRFNUQzMJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDBDQykKI2RlZmluZSByRENPTjMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwRDApCiNkZWZpbmUgckRTVEFUMwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDBENCkKI2RlZmluZSByRENTUkMzCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMEQ4KQojZGVmaW5lIHJEQ0RTVDMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwREMpCiNkZWZpbmUgckRNQVNLVFJJRzMJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDBFMCkKCgovKiBDTE9DSyAmIFBPV0VSIE1BTkFHRU1FTlQgKi8KI2RlZmluZSByTE9DS1RJTUUJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QzAwMDAwMCkKI2RlZmluZSByTVBMTENPTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRDMDAwMDA0KQojZGVmaW5lIHJVUExMQ09OCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEMwMDAwMDgpCiNkZWZpbmUgckNMS0NPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QzAwMDAwQykKI2RlZmluZSByQ0xLU0xPVwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRDMDAwMDEwKQojZGVmaW5lIHJDTEtESVZOCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEMwMDAwMTQpCgoKLyogTENEIENPTlRST0xMRVIgKi8KI2RlZmluZSByTENEQ09OMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDAwKQojZGVmaW5lIHJMQ0RDT04yCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwMDQpCiNkZWZpbmUgckxDRENPTjMJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDAwOCkKI2RlZmluZSByTENEQ09ONAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDBDKQojZGVmaW5lIHJMQ0RDT041CQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwMTApCiNkZWZpbmUgckxDRFNBRERSMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDE0KQojZGVmaW5lIHJMQ0RTQUREUjIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDAxOCkKI2RlZmluZSByTENEU0FERFIzCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwMUMpCiNkZWZpbmUgclJFRExVVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDAyMCkKI2RlZmluZSByR1JFRU5MVVQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDAyNCkKI2RlZmluZSByQkxVRUxVVAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDI4KQojZGVmaW5lIHJESVRITU9ERQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDRDKQojZGVmaW5lIHJUUEFMCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDUwKQojZGVmaW5lIHJMQ0RJTlRQTkQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDA1NCkKI2RlZmluZSByTENEU1JDUE5ECQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwNTgpCiNkZWZpbmUgckxDRElOVE1TSwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDVDKQoKCi8qIE5BTkQgRkxBU0ggKi8KI2RlZmluZSByTkZDT05GCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRFMDAwMDAwKQojZGVmaW5lIHJORkNNRAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RTAwMDAwNCkKI2RlZmluZSByTkZBRERSCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRFMDAwMDA4KQojZGVmaW5lIHJORkRBVEEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEUwMDAwMEMpCiNkZWZpbmUgck5GU1RBVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RTAwMDAxMCkKI2RlZmluZSByTkZFQ0MJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEUwMDAwMTQpCgoKLyogVUFSVCAqLwojZGVmaW5lIHJVTENPTjAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDAwMDApCiNkZWZpbmUgclVDT04wCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDAwMDA0KQojZGVmaW5lIHJVRkNPTjAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDAwMDgpCiNkZWZpbmUgclVNQ09OMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwMDAwQykKI2RlZmluZSByVVRSU1RBVDAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwMDAxMCkKI2RlZmluZSByVUVSU1RBVDAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwMDAxNCkKI2RlZmluZSByVUZTVEFUMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDAwMDE4KQojZGVmaW5lIHJVTVNUQVQwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDAwMUMpCiNkZWZpbmUgclVCUkRJVjAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwMDAyOCkKCiNkZWZpbmUgclVMQ09OMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwNDAwMCkKI2RlZmluZSByVUNPTjEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDQwMDQpCiNkZWZpbmUgclVGQ09OMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwNDAwOCkKI2RlZmluZSByVU1DT04xCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA0MDBDKQojZGVmaW5lIHJVVFJTVEFUMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA0MDEwKQojZGVmaW5lIHJVRVJTVEFUMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA0MDE0KQojZGVmaW5lIHJVRlNUQVQxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDQwMTgpCiNkZWZpbmUgclVNU1RBVDEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwNDAxQykKI2RlZmluZSByVUJSRElWMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA0MDI4KQoKI2RlZmluZSByVUxDT04yCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA4MDAwKQojZGVmaW5lIHJVQ09OMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwODAwNCkKI2RlZmluZSByVUZDT04yCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA4MDA4KQojZGVmaW5lIHJVVFJTVEFUMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA4MDEwKQojZGVmaW5lIHJVRVJTVEFUMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA4MDE0KQojZGVmaW5lIHJVRlNUQVQyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDgwMTgpCiNkZWZpbmUgclVCUkRJVjIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwODAyOCkKCiNpZmRlZiBfX0JJR19FTkRJQU4KI2RlZmluZSByVVRYSDAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwMDAyMykKI2RlZmluZSByVVJYSDAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwMDAyNykKI2RlZmluZSByVVRYSDEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwNDAyMykKI2RlZmluZSByVVJYSDEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwNDAyNykKI2RlZmluZSByVVRYSDIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwODAyMykKI2RlZmluZSByVVJYSDIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwODAyNykKCiNkZWZpbmUgV3JVVFhIMChjaCkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDAwMDIzKT0odW5zaWduZWQgY2hhcikoY2gpCiNkZWZpbmUgUmRVUlhIMCgpCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwMDAyNykKI2RlZmluZSBXclVUWEgxKGNoKQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDQwMjMpPSh1bnNpZ25lZCBjaGFyKShjaCkKI2RlZmluZSBSZFVSWEgxKCkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA0MDI3KQojZGVmaW5lIFdyVVRYSDIoY2gpCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwODAyMyk9KHVuc2lnbmVkIGNoYXIpKGNoKQojZGVmaW5lIFJkVVJYSDIoKQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDgwMjcpCgojZGVmaW5lIFVUWEgwCQkJKDB4NTAwMDAwMjArMykgIC8qIGJ5dGVfYWNjZXNzIGFkZHJlc3MgYnkgRE1BICovCiNkZWZpbmUgVVJYSDAJCQkoMHg1MDAwMDAyNCszKQojZGVmaW5lIFVUWEgxCQkJKDB4NTAwMDQwMjArMykKI2RlZmluZSBVUlhIMQkJCSgweDUwMDA0MDI0KzMpCiNkZWZpbmUgVVRYSDIJCQkoMHg1MDAwODAyMCszKQojZGVmaW5lIFVSWEgyCQkJKDB4NTAwMDgwMjQrMykKCiNlbHNlIC8qIExpdHRsZSBFbmRpYW4gKi8KI2RlZmluZSByVVRYSDAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwMDAyMCkKI2RlZmluZSByVVJYSDAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwMDAyNCkKI2RlZmluZSByVVRYSDEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwNDAyMCkKI2RlZmluZSByVVJYSDEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwNDAyNCkKI2RlZmluZSByVVRYSDIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwODAyMCkKI2RlZmluZSByVVJYSDIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwODAyNCkKCiNkZWZpbmUgV3JVVFhIMChjaCkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDAwMDIwKT0odW5zaWduZWQgY2hhcikoY2gpCiNkZWZpbmUgUmRVUlhIMCgpCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwMDAyNCkKI2RlZmluZSBXclVUWEgxKGNoKQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDQwMjApPSh1bnNpZ25lZCBjaGFyKShjaCkKI2RlZmluZSBSZFVSWEgxKCkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA0MDI0KQojZGVmaW5lIFdyVVRYSDIoY2gpCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwODAyMCk9KHVuc2lnbmVkIGNoYXIpKGNoKQojZGVmaW5lIFJkVVJYSDIoKQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDgwMjQpCgojZGVmaW5lIFVUWEgwCQkJKDB4NTAwMDAwMjApICAgIC8qIGJ5dGVfYWNjZXNzIGFkZHJlc3MgYnkgRE1BICovCiNkZWZpbmUgVVJYSDAJCQkoMHg1MDAwMDAyNCkKI2RlZmluZSBVVFhIMQkJCSgweDUwMDA0MDIwKQojZGVmaW5lIFVSWEgxCQkJKDB4NTAwMDQwMjQpCiNkZWZpbmUgVVRYSDIJCQkoMHg1MDAwODAyMCkKI2RlZmluZSBVUlhIMgkJCSgweDUwMDA4MDI0KQojZW5kaWYKCgovKiBQV00gVElNRVIgKi8KI2RlZmluZSByVENGRzAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMDApCiNkZWZpbmUgclRDRkcxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDA0KQojZGVmaW5lIHJUQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDA4KQojZGVmaW5lIHJUQ05UQjAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMEMpCiNkZWZpbmUgclRDTVBCMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAxMCkKI2RlZmluZSByVENOVE8wCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDE0KQojZGVmaW5lIHJUQ05UQjEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMTgpCiNkZWZpbmUgclRDTVBCMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAxQykKI2RlZmluZSByVENOVE8xCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDIwKQojZGVmaW5lIHJUQ05UQjIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMjQpCiNkZWZpbmUgclRDTVBCMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAyOCkKI2RlZmluZSByVENOVE8yCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDJDKQojZGVmaW5lIHJUQ05UQjMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMzApCiNkZWZpbmUgclRDTVBCMwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAzNCkKI2RlZmluZSByVENOVE8zCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDM4KQojZGVmaW5lIHJUQ05UQjQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwM0MpCiNkZWZpbmUgclRDTlRPNAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDA0MCkKCgovKiBVU0IgREVWSUNFICovCiNpZmRlZiBfX0JJR19FTkRJQU4KI2RlZmluZSByRlVOQ19BRERSX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNDMpCiNkZWZpbmUgclBXUl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTQ3KQojZGVmaW5lIHJFUF9JTlRfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE0QikKI2RlZmluZSByVVNCX0lOVF9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTVCKQojZGVmaW5lIHJFUF9JTlRfRU5fUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE1RikKI2RlZmluZSByVVNCX0lOVF9FTl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTZGKQojZGVmaW5lIHJGUkFNRV9OVU0xX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNzMpCiNkZWZpbmUgckZSQU1FX05VTTJfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE3NykKI2RlZmluZSBySU5ERVhfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE3QikKI2RlZmluZSByTUFYUF9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTgzKQojZGVmaW5lIHJFUDBfQ1NSCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE4NykKI2RlZmluZSBySU5fQ1NSMV9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTg3KQojZGVmaW5lIHJJTl9DU1IyX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxOEIpCiNkZWZpbmUgck9VVF9DU1IxX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxOTMpCiNkZWZpbmUgck9VVF9DU1IyX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxOTcpCiNkZWZpbmUgck9VVF9GSUZPX0NOVDFfUkVHCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTlCKQojZGVmaW5lIHJPVVRfRklGT19DTlQyX1JFRwkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE5RikKI2RlZmluZSByRVAwX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMUMzKQojZGVmaW5lIHJFUDFfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxQzcpCiNkZWZpbmUgckVQMl9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDFDQikKI2RlZmluZSByRVAzX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMUNGKQojZGVmaW5lIHJFUDRfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxRDMpCiNkZWZpbmUgckVQMV9ETUFfQ09OCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIwMykKI2RlZmluZSByRVAxX0RNQV9VTklUCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIwNykKI2RlZmluZSByRVAxX0RNQV9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIwQikKI2RlZmluZSByRVAxX0RNQV9UWF9MTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMEYpCiNkZWZpbmUgckVQMV9ETUFfVFhfTUQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjEzKQojZGVmaW5lIHJFUDFfRE1BX1RYX0hJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIxNykKI2RlZmluZSByRVAyX0RNQV9DT04JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjFCKQojZGVmaW5lIHJFUDJfRE1BX1VOSVQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjFGKQojZGVmaW5lIHJFUDJfRE1BX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjIzKQojZGVmaW5lIHJFUDJfRE1BX1RYX0xPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIyNykKI2RlZmluZSByRVAyX0RNQV9UWF9NRAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMkIpCiNkZWZpbmUgckVQMl9ETUFfVFhfSEkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjJGKQojZGVmaW5lIHJFUDNfRE1BX0NPTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNDMpCiNkZWZpbmUgckVQM19ETUFfVU5JVAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNDcpCiNkZWZpbmUgckVQM19ETUFfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNEIpCiNkZWZpbmUgckVQM19ETUFfVFhfTE8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjRGKQojZGVmaW5lIHJFUDNfRE1BX1RYX01ECQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI1MykKI2RlZmluZSByRVAzX0RNQV9UWF9ISQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNTcpCiNkZWZpbmUgckVQNF9ETUFfQ09OCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI1QikKI2RlZmluZSByRVA0X0RNQV9VTklUCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI1RikKI2RlZmluZSByRVA0X0RNQV9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI2MykKI2RlZmluZSByRVA0X0RNQV9UWF9MTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNjcpCiNkZWZpbmUgckVQNF9ETUFfVFhfTUQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjZCKQojZGVmaW5lIHJFUDRfRE1BX1RYX0hJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI2RikKI2Vsc2UgLyogIGxpdHRsZSBlbmRpYW4gKi8KI2RlZmluZSByRlVOQ19BRERSX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNDApCiNkZWZpbmUgclBXUl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTQ0KQojZGVmaW5lIHJFUF9JTlRfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE0OCkKI2RlZmluZSByVVNCX0lOVF9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTU4KQojZGVmaW5lIHJFUF9JTlRfRU5fUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE1QykKI2RlZmluZSByVVNCX0lOVF9FTl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTZDKQojZGVmaW5lIHJGUkFNRV9OVU0xX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNzApCiNkZWZpbmUgckZSQU1FX05VTTJfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE3NCkKI2RlZmluZSBySU5ERVhfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE3OCkKI2RlZmluZSByTUFYUF9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTgwKQojZGVmaW5lIHJFUDBfQ1NSCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE4NCkKI2RlZmluZSBySU5fQ1NSMV9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTg0KQojZGVmaW5lIHJJTl9DU1IyX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxODgpCiNkZWZpbmUgck9VVF9DU1IxX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxOTApCiNkZWZpbmUgck9VVF9DU1IyX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxOTQpCiNkZWZpbmUgck9VVF9GSUZPX0NOVDFfUkVHCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTk4KQojZGVmaW5lIHJPVVRfRklGT19DTlQyX1JFRwkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE5QykKI2RlZmluZSByRVAwX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMUMwKQojZGVmaW5lIHJFUDFfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxQzQpCiNkZWZpbmUgckVQMl9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDFDOCkKI2RlZmluZSByRVAzX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMUNDKQojZGVmaW5lIHJFUDRfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxRDApCiNkZWZpbmUgckVQMV9ETUFfQ09OCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIwMCkKI2RlZmluZSByRVAxX0RNQV9VTklUCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIwNCkKI2RlZmluZSByRVAxX0RNQV9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIwOCkKI2RlZmluZSByRVAxX0RNQV9UWF9MTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMEMpCiNkZWZpbmUgckVQMV9ETUFfVFhfTUQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjEwKQojZGVmaW5lIHJFUDFfRE1BX1RYX0hJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIxNCkKI2RlZmluZSByRVAyX0RNQV9DT04JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjE4KQojZGVmaW5lIHJFUDJfRE1BX1VOSVQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjFDKQojZGVmaW5lIHJFUDJfRE1BX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjIwKQojZGVmaW5lIHJFUDJfRE1BX1RYX0xPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIyNCkKI2RlZmluZSByRVAyX0RNQV9UWF9NRAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMjgpCiNkZWZpbmUgckVQMl9ETUFfVFhfSEkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjJDKQojZGVmaW5lIHJFUDNfRE1BX0NPTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNDApCiNkZWZpbmUgckVQM19ETUFfVU5JVAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNDQpCiNkZWZpbmUgckVQM19ETUFfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNDgpCiNkZWZpbmUgckVQM19ETUFfVFhfTE8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjRDKQojZGVmaW5lIHJFUDNfRE1BX1RYX01ECQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI1MCkKI2RlZmluZSByRVAzX0RNQV9UWF9ISQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNTQpCiNkZWZpbmUgckVQNF9ETUFfQ09OCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI1OCkKI2RlZmluZSByRVA0X0RNQV9VTklUCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI1QykKI2RlZmluZSByRVA0X0RNQV9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI2MCkKI2RlZmluZSByRVA0X0RNQV9UWF9MTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNjQpCiNkZWZpbmUgckVQNF9ETUFfVFhfTUQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjY4KQojZGVmaW5lIHJFUDRfRE1BX1RYX0hJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI2QykKI2VuZGlmIC8qICBfX0JJR19FTkRJQU4gKi8KCgovKiBXQVRDSCBET0cgVElNRVIgKi8KI2RlZmluZSByV1RDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTMwMDAwMDApCiNkZWZpbmUgcldUREFUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUzMDAwMDA0KQojZGVmaW5lIHJXVENOVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MzAwMDAwOCkKCgovKiBJSUMgKi8KI2RlZmluZSBySUlDQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU0MDAwMDAwKQojZGVmaW5lIHJJSUNTVEFUCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTQwMDAwMDQpCiNkZWZpbmUgcklJQ0FERAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NDAwMDAwOCkKI2RlZmluZSBySUlDRFMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTQwMDAwMEMpCgoKLyogSUlTICovCiNkZWZpbmUgcklJU0NPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NTAwMDAwMCkKI2RlZmluZSBySUlTTU9ECQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU1MDAwMDA0KQojZGVmaW5lIHJJSVNQU1IJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTUwMDAwMDgpCiNkZWZpbmUgcklJU0ZDT04JCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NTAwMDAwQykKCiNpZmRlZiBfX0JJR19FTkRJQU4KI2RlZmluZSBJSVNGSUYJCQkoKHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICopMHg1NTAwMDAxMikKI2Vsc2UgLyogIGxpdHRsZSBlbmRpYW4gKi8KI2RlZmluZSBJSVNGSUYJCQkoKHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICopMHg1NTAwMDAxMCkKI2VuZGlmCgoKLyogSS9PIFBPUlQgKi8KI2RlZmluZSByR1BBQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDAwKQojZGVmaW5lIHJHUEFEQVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwMDQpCgojZGVmaW5lIHJHUEJDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwMTApCiNkZWZpbmUgckdQQkRBVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDAxNCkKI2RlZmluZSByR1BCVVAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwMTgpCgojZGVmaW5lIHJHUENDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwMjApCiNkZWZpbmUgckdQQ0RBVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDAyNCkKI2RlZmluZSByR1BDVVAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwMjgpCgojZGVmaW5lIHJHUERDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwMzApCiNkZWZpbmUgckdQRERBVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDAzNCkKI2RlZmluZSByR1BEVVAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwMzgpCgojZGVmaW5lIHJHUEVDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwNDApCiNkZWZpbmUgckdQRURBVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA0NCkKI2RlZmluZSByR1BFVVAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwNDgpCgojZGVmaW5lIHJHUEZDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwNTApCiNkZWZpbmUgckdQRkRBVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA1NCkKI2RlZmluZSByR1BGVVAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwNTgpCgojZGVmaW5lIHJHUEdDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwNjApCiNkZWZpbmUgckdQR0RBVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA2NCkKI2RlZmluZSByR1BHVVAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwNjgpCgojZGVmaW5lIHJHUEhDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwNzApCiNkZWZpbmUgckdQSERBVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA3NCkKI2RlZmluZSByR1BIVVAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwNzgpCgojZGVmaW5lIHJNSVNDQ1IJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwODApCiNkZWZpbmUgckRDTEtDT04JCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA4NCkKI2RlZmluZSByRVhUSU5UMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDg4KQojZGVmaW5lIHJFWFRJTlQxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwOEMpCiNkZWZpbmUgckVYVElOVDIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA5MCkKI2RlZmluZSByRUlOVEZMVDAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA5NCkKI2RlZmluZSByRUlOVEZMVDEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA5OCkKI2RlZmluZSByRUlOVEZMVDIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA5QykKI2RlZmluZSByRUlOVEZMVDMJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDBBMCkKI2RlZmluZSByRUlOVE1BU0sJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDBBNCkKI2RlZmluZSByRUlOVFBFTkQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDBBOCkKI2RlZmluZSByR1NUQVRVUzAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDBBQykKI2RlZmluZSByR1NUQVRVUzEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDBCMCkKCgovKiBSVEMgKi8KI2lmZGVmIF9fQklHX0VORElBTgojZGVmaW5lIHJSVENDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA0MykKI2RlZmluZSByVElDTlQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA0NykKI2RlZmluZSByUlRDQUxNCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNTMpCiNkZWZpbmUgckFMTVNFQwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDU3KQojZGVmaW5lIHJBTE1NSU4JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA1QikKI2RlZmluZSByQUxNSE9VUgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNUYpCiNkZWZpbmUgckFMTURBVEUJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDYzKQojZGVmaW5lIHJBTE1NT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA2NykKI2RlZmluZSByQUxNWUVBUgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNkIpCiNkZWZpbmUgclJUQ1JTVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDZGKQojZGVmaW5lIHJCQ0RTRUMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA3MykKI2RlZmluZSByQkNETUlOCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNzcpCiNkZWZpbmUgckJDREhPVVIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDdCKQojZGVmaW5lIHJCQ0REQVRFCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA3RikKI2RlZmluZSByQkNEREFZCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwODMpCiNkZWZpbmUgckJDRE1PTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDg3KQojZGVmaW5lIHJCQ0RZRUFSCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA4QikKI2Vsc2UgLyogIGxpdHRsZSBlbmRpYW4gKi8KI2RlZmluZSByUlRDQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNDApCiNkZWZpbmUgclRJQ05UCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNDQpCiNkZWZpbmUgclJUQ0FMTQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDUwKQojZGVmaW5lIHJBTE1TRUMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA1NCkKI2RlZmluZSByQUxNTUlOCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNTgpCiNkZWZpbmUgckFMTUhPVVIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDVDKQojZGVmaW5lIHJBTE1EQVRFCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA2MCkKI2RlZmluZSByQUxNTU9OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNjQpCiNkZWZpbmUgckFMTVlFQVIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDY4KQojZGVmaW5lIHJSVENSU1QJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA2QykKI2RlZmluZSByQkNEU0VDCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNzApCiNkZWZpbmUgckJDRE1JTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDc0KQojZGVmaW5lIHJCQ0RIT1VSCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA3OCkKI2RlZmluZSByQkNEREFURQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwN0MpCiNkZWZpbmUgckJDRERBWQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDgwKQojZGVmaW5lIHJCQ0RNT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA4NCkKI2RlZmluZSByQkNEWUVBUgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwODgpCiNlbmRpZgoKCi8qIEFEQyAqLwojZGVmaW5lIHJBRENDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTgwMDAwMDApCiNkZWZpbmUgckFEQ1RTQwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1ODAwMDAwNCkKI2RlZmluZSByQURDRExZCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU4MDAwMDA4KQojZGVmaW5lIHJBRENEQVQwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTgwMDAwMEMpCiNkZWZpbmUgckFEQ0RBVDEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1ODAwMDAxMCkKCgovKiBTUEkgKi8KI2RlZmluZSByU1BDT04wCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU5MDAwMDAwKQojZGVmaW5lIHJTUFNUQTAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTkwMDAwMDQpCiNkZWZpbmUgclNQUElOMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1OTAwMDAwOCkKI2RlZmluZSByU1BQUkUwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU5MDAwMDBDKQojZGVmaW5lIHJTUFREQVQwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTkwMDAwMTApCiNkZWZpbmUgclNQUkRBVDAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1OTAwMDAxNCkKI2RlZmluZSByU1BDT04xCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU5MDAwMDIwKQojZGVmaW5lIHJTUFNUQTEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTkwMDAwMjQpCiNkZWZpbmUgclNQUElOMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1OTAwMDAyOCkKI2RlZmluZSByU1BQUkUxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU5MDAwMDJDKQojZGVmaW5lIHJTUFREQVQxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTkwMDAwMzApCiNkZWZpbmUgclNQUkRBVDEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1OTAwMDAzNCkKCgovKiBTRCBJTlRFUkZBQ0UgKi8KI2RlZmluZSByU0RJQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDAwKQojZGVmaW5lIHJTRElQUkUJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMDQpCiNkZWZpbmUgclNESUNtZEFyZwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDA4KQojZGVmaW5lIHJTRElDbWRDb24JCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAwQykKI2RlZmluZSByU0RJQ21kU3RhCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMTApCiNkZWZpbmUgclNESVJTUDAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAxNCkKI2RlZmluZSByU0RJUlNQMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDE4KQojZGVmaW5lIHJTRElSU1AyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMUMpCiNkZWZpbmUgclNESVJTUDMJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAyMCkKI2RlZmluZSByU0RJRFRpbWVyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMjQpCiNkZWZpbmUgclNESUJTaXplCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMjgpCiNkZWZpbmUgclNESURhdENvbgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDJDKQojZGVmaW5lIHJTRElEYXRDbnQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAzMCkKI2RlZmluZSByU0RJRGF0U3RhCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMzQpCiNkZWZpbmUgclNESUZTVEEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAzOCkKI2lmZGVmIF9fQklHX0VORElBTgojZGVmaW5lIHJTRElEQVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1QTAwMDAzRikKI2Vsc2UKI2RlZmluZSByU0RJREFUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NUEwMDAwM0MpCiNlbmRpZgojZGVmaW5lIHJTRElJbnRNc2sJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDA0MCkKCiNlbmRpZgoKI2VuZGlmIC8qX19TM0MyNFgwX0hfXyovCg==