ZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWFybTcyMHQvbmV0YXJtX2RtYV9tb2R1bGUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWFybTcyMHQvbmV0YXJtX2RtYV9tb2R1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTE3MDM1Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXJtNzIwdC9uZXRhcm1fZG1hX21vZHVsZS5oCkBAIC0wLDAgKzEsMTg0IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtbm9tbXUvYXJjaC1uZXRhcm0vbmV0YXJtX2RtYV9tb2R1bGUuaAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwMCBORVRzaWxpY29uLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAgV2lyZVNwZWVkIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uCisgKgorICogVGhpcyBzb2Z0d2FyZSBpcyBjb3B5cmlnaHRlZCBieSBXaXJlU3BlZWQuIExJQ0VOU0VFIGFncmVlcyB0aGF0CisgKiBpdCB3aWxsIG5vdCBkZWxldGUgdGhpcyBjb3B5cmlnaHQgbm90aWNlLCB0cmFkZW1hcmtzIG9yIHByb3RlY3RpdmUKKyAqIG5vdGljZXMgZnJvbSBhbnkgY29weSBtYWRlIGJ5IExJQ0VOU0VFLgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgIkFTLUlTIiBhbmQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZAorICogd2FycmFudGllcyBvciBjb25kaXRpb25zLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGFueQorICogaW1wbGllZCB3YXJyYW50aWVzIG9mIG1lcmNoYW50YWJpbGl0eSBhbmQgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyCisgKiBwdXJwb3NlIHJlZ2FyZGluZyB0aGlzIHNvZnR3YXJlLiBJbiBubyBldmVudCBzaGFsbCBXaXJlU3BlZWQKKyAqIGJlIGxpYWJsZSBmb3IgYW55IGluZGlyZWN0LCBjb25zZXF1ZW50aWFsLCBvciBpbmNpZGVudGFsIGRhbWFnZXMsCisgKiBsb3NzIG9mIHByb2ZpdHMgb3IgcmV2ZW51ZSwgbG9zcyBvZiB1c2Ugb3IgZGF0YSwgb3IgaW50ZXJydXB0aW9uCisgKiBvZiBidXNpbmVzcywgd2hldGhlciB0aGUgYWxsZWdlZCBkYW1hZ2VzIGFyZSBsYWJlbGVkIGluIGNvbnRyYWN0LAorICogdG9ydCwgb3IgaW5kZW1uaXR5LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiBhdXRob3IocykgOiBKb2UgZGVCbGFxdWllcmUKKyAqICAgICAgICAgICAgIERhdmlkIFNtaXRoCisgKi8KKworI2lmbmRlZiBfX05FVEFSTV9ETUFfTU9EVUxFX1JFR0lTVEVSU19ICisjZGVmaW5lIF9fTkVUQVJNX0RNQV9NT0RVTEVfUkVHSVNURVJTX0gKKworLyogR0VOIHVuaXQgcmVnaXN0ZXIgb2Zmc2V0cyAqLworCisjZGVmaW5lCU5FVEFSTV9ETUFfTU9EVUxFX0JBU0UJCSgweEZGOTAwMDAwKQorCisjZGVmaW5lIGdldF9kbWFfcmVnX2FkZHIoYykgKCh2b2xhdGlsZSB1bnNpZ25lZCBpbnQgKikoTkVUQVJNX0RNQV9NT0RVTEVfQkFTRSArIChjKSkpCisKKyNkZWZpbmUJTkVUQVJNX0RNQTFBX0JGUl9ERVNDUlBUT1JfUFRSCSgweDAwKQorI2RlZmluZQlORVRBUk1fRE1BMUFfQ09OVFJPTAkJKDB4MTApCisjZGVmaW5lCU5FVEFSTV9ETUExQV9TVEFUVVMJCSgweDE0KQorI2RlZmluZQlORVRBUk1fRE1BMUJfQkZSX0RFU0NSUFRPUl9QVFIJKDB4MjApCisjZGVmaW5lCU5FVEFSTV9ETUExQl9DT05UUk9MCQkoMHgzMCkKKyNkZWZpbmUJTkVUQVJNX0RNQTFCX1NUQVRVUwkJKDB4MzQpCisjZGVmaW5lCU5FVEFSTV9ETUExQ19CRlJfREVTQ1JQVE9SX1BUUgkoMHg0MCkKKyNkZWZpbmUJTkVUQVJNX0RNQTFDX0NPTlRST0wJCSgweDUwKQorI2RlZmluZQlORVRBUk1fRE1BMUNfU1RBVFVTCQkoMHg1NCkKKyNkZWZpbmUJTkVUQVJNX0RNQTFEX0JGUl9ERVNDUlBUT1JfUFRSCSgweDYwKQorI2RlZmluZQlORVRBUk1fRE1BMURfQ09OVFJPTAkJKDB4NzApCisjZGVmaW5lCU5FVEFSTV9ETUExRF9TVEFUVVMJCSgweDc0KQorCisjZGVmaW5lCU5FVEFSTV9ETUEyX0JGUl9ERVNDUlBUT1JfUFRSCSgweDgwKQorI2RlZmluZQlORVRBUk1fRE1BMl9DT05UUk9MCQkoMHg5MCkKKyNkZWZpbmUJTkVUQVJNX0RNQTJfU1RBVFVTCQkoMHg5NCkKKworI2RlZmluZQlORVRBUk1fRE1BM19CRlJfREVTQ1JQVE9SX1BUUgkoMHhBMCkKKyNkZWZpbmUJTkVUQVJNX0RNQTNfQ09OVFJPTAkJKDB4QjApCisjZGVmaW5lCU5FVEFSTV9ETUEzX1NUQVRVUwkJKDB4QjQpCisKKyNkZWZpbmUJTkVUQVJNX0RNQTRfQkZSX0RFU0NSUFRPUl9QVFIJKDB4QzApCisjZGVmaW5lCU5FVEFSTV9ETUE0X0NPTlRST0wJCSgweEQwKQorI2RlZmluZQlORVRBUk1fRE1BNF9TVEFUVVMJCSgweEQ0KQorCisjZGVmaW5lCU5FVEFSTV9ETUE1X0JGUl9ERVNDUlBUT1JfUFRSCSgweEUwKQorI2RlZmluZQlORVRBUk1fRE1BNV9DT05UUk9MCQkoMHhGMCkKKyNkZWZpbmUJTkVUQVJNX0RNQTVfU1RBVFVTCQkoMHhGNCkKKworI2RlZmluZQlORVRBUk1fRE1BNl9CRlJfREVTQ1JQVE9SX1BUUgkoMHgxMDApCisjZGVmaW5lCU5FVEFSTV9ETUE2X0NPTlRST0wJCSgweDExMCkKKyNkZWZpbmUJTkVUQVJNX0RNQTZfU1RBVFVTCQkoMHgxMTQpCisKKyNkZWZpbmUJTkVUQVJNX0RNQTdfQkZSX0RFU0NSUFRPUl9QVFIJKDB4MTIwKQorI2RlZmluZQlORVRBUk1fRE1BN19DT05UUk9MCQkoMHgxMzApCisjZGVmaW5lCU5FVEFSTV9ETUE3X1NUQVRVUwkJKDB4MTM0KQorCisjZGVmaW5lCU5FVEFSTV9ETUE4X0JGUl9ERVNDUlBUT1JfUFRSCSgweDE0MCkKKyNkZWZpbmUJTkVUQVJNX0RNQThfQ09OVFJPTAkJKDB4MTUwKQorI2RlZmluZQlORVRBUk1fRE1BOF9TVEFUVVMJCSgweDE1NCkKKworI2RlZmluZQlORVRBUk1fRE1BOV9CRlJfREVTQ1JQVE9SX1BUUgkoMHgxNjApCisjZGVmaW5lCU5FVEFSTV9ETUE5X0NPTlRST0wJCSgweDE3MCkKKyNkZWZpbmUJTkVUQVJNX0RNQTlfU1RBVFVTCQkoMHgxNzQpCisKKyNkZWZpbmUJTkVUQVJNX0RNQTEwX0JGUl9ERVNDUlBUT1JfUFRSCSgweDE4MCkKKyNkZWZpbmUJTkVUQVJNX0RNQTEwX0NPTlRST0wJCSgweDE5MCkKKyNkZWZpbmUJTkVUQVJNX0RNQTEwX1NUQVRVUwkJKDB4MTk0KQorCisvKiBzZWxlY3QgYml0ZmllbGQgZGVmaW50aW9ucyAqLworCisvKiBETUEgQ29udHJvbCBSZWdpc3RlciAoIDB4RkY5MF8wWFgwICkgKi8KKworI2RlZmluZSBORVRBUk1fRE1BX0NUTF9FTkFCTEUJCSgweDgwMDAwMDAwKQorCisjZGVmaW5lIE5FVEFSTV9ETUFfQ1RMX0FCT1JUCQkoMHg0MDAwMDAwMCkKKworI2RlZmluZSBORVRBUk1fRE1BX0NUTF9CVVNfMTAwX1BFUkNFTlQJKDB4MDAwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9ETUFfQ1RMX0JVU183NV9QRVJDRU5UCSgweDEwMDAwMDAwKQorI2RlZmluZSBORVRBUk1fRE1BX0NUTF9CVVNfNTBfUEVSQ0VOVAkoMHgyMDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0RNQV9DVExfQlVTXzI1X1BFUkNFTlQJKDB4MzAwMDAwMDApCisKKyNkZWZpbmUgTkVUQVJNX0RNQV9DVExfQlVTX01BU0sJCSgweDMwMDAwMDAwKQorCisjZGVmaW5lIE5FVEFSTV9ETUFfQ1RMX01PREVfRkJfVE9fTUVNCSgweDAwMDAwMDAwKQorI2RlZmluZSBORVRBUk1fRE1BX0NUTF9NT0RFX0ZCX0ZST01fTUVNCSgweDA0MDAwMDAwKQorI2RlZmluZSBORVRBUk1fRE1BX0NUTF9NT0RFX01FTV9UT19NRU0JKDB4MDgwMDAwMDApCisKKyNkZWZpbmUgTkVUQVJNX0RNQV9DVExfQlVSU1RfTk9ORQkoMHgwMDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0RNQV9DVExfQlVSU1RfOF9CWVRFCSgweDAxMDAwMDAwKQorI2RlZmluZSBORVRBUk1fRE1BX0NUTF9CVVJTVF8xNl9CWVRFCSgweDAyMDAwMDAwKQorCisjZGVmaW5lIE5FVEFSTV9ETUFfQ1RMX0JVUlNUX01BU0sJKDB4MDMwMDAwMDApCisKKyNkZWZpbmUgTkVUQVJNX0RNQV9DVExfU1JDX0lOQ1JFTUVOVAkoMHgwMDIwMDAwMCkKKworI2RlZmluZSBORVRBUk1fRE1BX0NUTF9EU1RfSU5DUkVNRU5UCSgweDAwMTAwMDAwKQorCisvKiB0aGVzZSBhcHBseSBvbmx5IHRvIGV4dCB4ZmVycyBvbiBETUEgMyBvciA0ICovCisKKyNkZWZpbmUgTkVUQVJNX0RNQV9DVExfQ0hfM180X1JFUV9FWFQJKDB4MDA4MDAwMDApCisKKyNkZWZpbmUgTkVUQVJNX0RNQV9DVExfQ0hfM180X0RBVEFfMzIJKDB4MDAwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9ETUFfQ1RMX0NIXzNfNF9EQVRBXzE2CSgweDAwMDEwMDAwKQorI2RlZmluZSBORVRBUk1fRE1BX0NUTF9DSF8zXzRfREFUQV84CSgweDAwMDIwMDAwKQorCisjZGVmaW5lIE5FVEFSTV9ETUFfQ1RMX1NUQVRFKFgpCSgoWCkgJiAweEZDMDApCisjZGVmaW5lIE5FVEFSTV9ETUFfQ1RMX0lOREVYKFgpCSgoWCkgJiAweDAzRkYpCisKKy8qIERNQSBTdGF0dXMgUmVnaXN0ZXIgKCAweEZGOTBfMFhYNCApICovCisKKyNkZWZpbmUgTkVUQVJNX0RNQV9TVEFUX05DX0lOVFBFTgkoMHg4MDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0RNQV9TVEFUX0VDX0lOVFBFTgkoMHg0MDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0RNQV9TVEFUX05SX0lOVFBFTgkoMHgyMDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0RNQV9TVEFUX0NBX0lOVFBFTgkoMHgxMDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0RNQV9TVEFUX0lOVFBFTl9NQVNLCSgweEYwMDAwMDAwKQorCisjZGVmaW5lIE5FVEFSTV9ETUFfU1RBVF9OQ19JTlRfRU4JKDB4MDA4MDAwMDApCisjZGVmaW5lIE5FVEFSTV9ETUFfU1RBVF9FQ19JTlRfRU4JKDB4MDA0MDAwMDApCisjZGVmaW5lIE5FVEFSTV9ETUFfU1RBVF9OUl9JTlRfRU4JKDB4MDAyMDAwMDApCisjZGVmaW5lIE5FVEFSTV9ETUFfU1RBVF9DQV9JTlRfRU4JKDB4MDAxMDAwMDApCisjZGVmaW5lIE5FVEFSTV9ETUFfU1RBVF9JTlRfRU5fTUFTSwkoMHgwMEYwMDAwMCkKKworI2RlZmluZSBORVRBUk1fRE1BX1NUQVRfV1JBUAkJKDB4MDAwODAwMDApCisjZGVmaW5lIE5FVEFSTV9ETUFfU1RBVF9JRE9ORQkJKDB4MDAwNDAwMDApCisjZGVmaW5lIE5FVEFSTV9ETUFfU1RBVF9MQVNUCQkoMHgwMDAyMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0RNQV9TVEFUX0ZVTEwJCSgweDAwMDEwMDAwKQorCisjZGVmaW5lCU5FVEFSTV9ETUFfU1RBVF9CVUZMRU4oWCkJKChYKSAmIDB4N0ZGRikKKworLyogRE1BIEJ1ZmZlciBEZXNjcmlwdG9yIFdvcmQgMCBiaXRmaWVsZHMuICovCisKKyNkZWZpbmUgTkVUQVJNX0RNQV9CRDBfV1JBUAkJKDB4ODAwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9ETUFfQkQwX0lET05FCQkoMHg0MDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0RNQV9CRDBfTEFTVAkJKDB4MjAwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9ETUFfQkQwX0JVRlBUUl9NQVNLCSgweDFGRkZGRkZGKQorCisvKiBETUEgQnVmZmVyIERlc2NyaXB0b3IgV29yZCAxIGJpdGZpZWxkcy4gKi8KKworI2RlZmluZSBORVRBUk1fRE1BX0JEMV9TVEFUVVNfTUFTSwkoMHhGRkZGMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0RNQV9CRDFfRlVMTAkJKDB4MDAwMDgwMDApCisjZGVmaW5lIE5FVEFSTV9ETUFfQkQxX0JVRkxFTl9NQVNLCSgweDAwMDA3RkZGKQorCisjaWZuZGVmCV9fQVNTRU1CTEVSX18KKwordHlwZWRlZglzdHJ1Y3QgX19ORVRBUk1fRE1BX0J1ZmZfRGVzY19GbHlCeQoreworCXVuc2lnbmVkIGludCB3b3JkMDsKKwl1bnNpZ25lZCBpbnQgd29yZDE7Cit9IE5FVEFSTV9ETUFfQnVmZl9EZXNjX0ZseUJ5LCAqcE5FVEFSTV9ETUFfQnVmZl9EZXNjX0ZseUJ5IDsKKwordHlwZWRlZglzdHJ1Y3QgX19ORVRBUk1fRE1BX0J1ZmZfRGVzY19NX3RvX00KK3sKKwl1bnNpZ25lZCBpbnQgd29yZDA7CisJdW5zaWduZWQgaW50IHdvcmQxOworCXVuc2lnbmVkIGludCB3b3JkMjsKKwl1bnNpZ25lZCBpbnQgd29yZDM7Cit9IE5FVEFSTV9ETUFfQnVmZl9EZXNjX01fdG9fTSwgKnBORVRBUk1fRE1BX0J1ZmZfRGVzY19NX3RvX00gOworCisjZW5kaWYKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWFybTcyMHQvbmV0YXJtX2VuaV9tb2R1bGUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWFybTcyMHQvbmV0YXJtX2VuaV9tb2R1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTdiMzU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXJtNzIwdC9uZXRhcm1fZW5pX21vZHVsZS5oCkBAIC0wLDAgKzEsMTIxIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtbm9tbXUvYXJjaC1uZXRhcm0vbmV0YXJtX2VuaV9tb2R1bGUuaAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwMCBORVRzaWxpY29uLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAgV2lyZVNwZWVkIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uCisgKgorICogVGhpcyBzb2Z0d2FyZSBpcyBjb3B5cmlnaHRlZCBieSBXaXJlU3BlZWQuIExJQ0VOU0VFIGFncmVlcyB0aGF0CisgKiBpdCB3aWxsIG5vdCBkZWxldGUgdGhpcyBjb3B5cmlnaHQgbm90aWNlLCB0cmFkZW1hcmtzIG9yIHByb3RlY3RpdmUKKyAqIG5vdGljZXMgZnJvbSBhbnkgY29weSBtYWRlIGJ5IExJQ0VOU0VFLgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgIkFTLUlTIiBhbmQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZAorICogd2FycmFudGllcyBvciBjb25kaXRpb25zLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGFueQorICogaW1wbGllZCB3YXJyYW50aWVzIG9mIG1lcmNoYW50YWJpbGl0eSBhbmQgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyCisgKiBwdXJwb3NlIHJlZ2FyZGluZyB0aGlzIHNvZnR3YXJlLiBJbiBubyBldmVudCBzaGFsbCBXaXJlU3BlZWQKKyAqIGJlIGxpYWJsZSBmb3IgYW55IGluZGlyZWN0LCBjb25zZXF1ZW50aWFsLCBvciBpbmNpZGVudGFsIGRhbWFnZXMsCisgKiBsb3NzIG9mIHByb2ZpdHMgb3IgcmV2ZW51ZSwgbG9zcyBvZiB1c2Ugb3IgZGF0YSwgb3IgaW50ZXJydXB0aW9uCisgKiBvZiBidXNpbmVzcywgd2hldGhlciB0aGUgYWxsZWdlZCBkYW1hZ2VzIGFyZSBsYWJlbGVkIGluIGNvbnRyYWN0LAorICogdG9ydCwgb3IgaW5kZW1uaXR5LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiBhdXRob3IocykgOiBEYXZpZCBTbWl0aAorICovCisKKyNpZm5kZWYgX19ORVRBUk1fRU5JX01PRFVMRV9SRUdJU1RFUlNfSAorI2RlZmluZSBfX05FVEFSTV9FTklfTU9EVUxFX1JFR0lTVEVSU19ICisKKy8qIEVOSSB1bml0IHJlZ2lzdGVyIG9mZnNldHMgKi8KKworLyogI2lmZGVmIENPTkZJR19BUkNIX05FVEFSTSAqLworI2RlZmluZQlORVRBUk1fRU5JX01PRFVMRV9CQVNFCQkoMHhGRkEwMDAwMCkKKy8qICNlbmRpZiAvICogQ09ORklHX0FSQ0hfTkVUQVJNICovCisKKyNkZWZpbmUgZ2V0X2VuaV9yZWdfYWRkcihjKSAoKHZvbGF0aWxlIHVuc2lnbmVkIGludCAqKShORVRBUk1fRU5JX01PRFVMRV9CQVNFICsgKGMpKSkKKyNkZWZpbmUgZ2V0X2VuaV9jdGxfcmVnX2FkZHIobWlub3IpIFwKKwkoZ2V0X2VuaV9yZWdfYWRkcihORVRBUk1fRU5JXzEyODRfUE9SVDFfQ09OVFJPTCkgKyAobWlub3IpKQorCisjZGVmaW5lCU5FVEFSTV9FTklfR0VORVJBTF9DT05UUk9MCSgweDAwKQorI2RlZmluZQlORVRBUk1fRU5JX1NUQVRVU19DT05UUk9MCSgweDA0KQorI2RlZmluZQlORVRBUk1fRU5JX0ZJRk9fTU9ERV9EQVRBCSgweDA4KQorCisjZGVmaW5lCU5FVEFSTV9FTklfMTI4NF9QT1JUMV9DT05UUk9MCSgweDEwKQorI2RlZmluZQlORVRBUk1fRU5JXzEyODRfUE9SVDJfQ09OVFJPTAkoMHgxNCkKKyNkZWZpbmUJTkVUQVJNX0VOSV8xMjg0X1BPUlQzX0NPTlRST0wJKDB4MTgpCisjZGVmaW5lCU5FVEFSTV9FTklfMTI4NF9QT1JUNF9DT05UUk9MCSgweDFjKQorCisjZGVmaW5lCU5FVEFSTV9FTklfMTI4NF9DSEFOTkVMMV9EQVRBCSgweDIwKQorI2RlZmluZQlORVRBUk1fRU5JXzEyODRfQ0hBTk5FTDJfREFUQQkoMHgyNCkKKyNkZWZpbmUJTkVUQVJNX0VOSV8xMjg0X0NIQU5ORUwzX0RBVEEJKDB4MjgpCisjZGVmaW5lCU5FVEFSTV9FTklfMTI4NF9DSEFOTkVMNF9EQVRBCSgweDJjKQorCisjZGVmaW5lCU5FVEFSTV9FTklfRU5JX0NPTlRST0wJCSgweDMwKQorI2RlZmluZQlORVRBUk1fRU5JX0VOSV9QVUxTRURfSU5UUgkoMHgzNCkKKyNkZWZpbmUJTkVUQVJNX0VOSV9FTklfU0hBUkVEX1JBTV9BRERSCSgweDM4KQorI2RlZmluZQlORVRBUk1fRU5JX0VOSV9TSEFSRUQJCSgweDNjKQorCisvKiBzZWxlY3QgYml0ZmllbGQgZGVmaW50aW9ucyAqLworCisvKiBHZW5lcmFsIENvbnRyb2wgUmVnaXN0ZXIgKDB4RkZBMF8wMDAwKSAqLworCisjZGVmaW5lIE5FVEFSTV9FTklfR0NSX0VOSU1PREVfSUVFRTEyODQJKDB4MDAwMDAwMDEpCisjZGVmaW5lIE5FVEFSTV9FTklfR0NSX0VOSU1PREVfU0hSQU0xNgkoMHgwMDAwMDAwNCkKKyNkZWZpbmUgTkVUQVJNX0VOSV9HQ1JfRU5JTU9ERV9TSFJBTTgJKDB4MDAwMDAwMDUpCisjZGVmaW5lIE5FVEFSTV9FTklfR0NSX0VOSU1PREVfRklGTzE2CSgweDAwMDAwMDA2KQorI2RlZmluZSBORVRBUk1fRU5JX0dDUl9FTklNT0RFX0ZJRk84CSgweDAwMDAwMDA3KQorCisjZGVmaW5lIE5FVEFSTV9FTklfR0NSX0VOSU1PREVfTUFTSwkoMHgwMDAwMDAwNykKKworLyogSUVFRSAxMjg0IFBvcnQgQ29udHJvbCBSZWdpc3RlcnMgMS00ICgweEZGQTBfMDAxMCwgMHhGRkEwXzAwMTQsCisgICAweEZGQTBfMDAxOCwgMHhGRkEwXzAwMWMpICovCisKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfUE9SVF9FTkFCTEUJKDB4ODAwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX0RNQV9FTkFCTEUJKDB4NDAwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX09CRV9JTlRfRU4JKDB4MjAwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX0FDS19JTlRfRU4JKDB4MTAwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX0VDUF9NT0RFCSgweDA4MDAwMDAwKQorI2RlZmluZSBORVRBUk1fRU5JXzEyODRQQ19MT09QQkFDS19NT0RFCSgweDA0MDAwMDAwKQorCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX1NUUk9CRV9USU1FMAkoMHgwMDAwMDAwMCkgLyogMC41IHVTICovCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX1NUUk9CRV9USU1FMQkoMHgwMTAwMDAwMCkgLyogMS4wIHVTICovCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX1NUUk9CRV9USU1FMgkoMHgwMjAwMDAwMCkgLyogNS4wIHVTICovCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX1NUUk9CRV9USU1FMwkoMHgwMzAwMDAwMCkgLyogMTAuMCB1UyAqLworI2RlZmluZSBORVRBUk1fRU5JXzEyODRQQ19TVFJPQkVfTUFTSwkoMHgwMzAwMDAwMCkKKworI2RlZmluZSBORVRBUk1fRU5JXzEyODRQQ19NQU5fU1RST0JFX0VOCSgweDAwODAwMDAwKQorI2RlZmluZSBORVRBUk1fRU5JXzEyODRQQ19GQVNUX01PREUJKDB4MDA0MDAwMDApCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX0JJRElSX01PREUJKDB4MDAyMDAwMDApCisKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfTUFOX1NUUk9CRQkoMHgwMDA4MDAwMCkKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfQVVUT19GRUVECSgweDAwMDQwMDAwKQorI2RlZmluZSBORVRBUk1fRU5JXzEyODRQQ19JTklUCQkoMHgwMDAyMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfSFNFTEVDVAkoMHgwMDAxMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfRkVfSU5UX0VOCSgweDAwMDA4MDAwKQorI2RlZmluZSBORVRBUk1fRU5JXzEyODRQQ19FUFBfTU9ERQkoMHgwMDAwNDAwMCkKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfSUJSX0lOVF9FTgkoMHgwMDAwMjAwMCkKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfSUJSCQkoMHgwMDAwMTAwMCkKKworI2RlZmluZSBORVRBUk1fRU5JXzEyODRQQ19SWEZEQl8xQllURQkoMHgwMDAwMDQwMCkKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfUlhGREJfMkJZVEUJKDB4MDAwMDA4MDApCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX1JYRkRCXzNCWVRFCSgweDAwMDAwYzAwKQorI2RlZmluZSBORVRBUk1fRU5JXzEyODRQQ19SWEZEQl80QllURQkoMHgwMDAwMDAwMCkKKworI2RlZmluZSBORVRBUk1fRU5JXzEyODRQQ19SQkNDCQkoMHgwMDAwMDIwMCkKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfUkJDVAkJKDB4MDAwMDAxMDApCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX0FDSwkJKDB4MDAwMDAwODApCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX0ZJRk9fRQkoMHgwMDAwMDA0MCkKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfT0JFCQkoMHgwMDAwMDAyMCkKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfQUNLX0lOVAkoMHgwMDAwMDAxMCkKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfQlVTWQkJKDB4MDAwMDAwMDgpCisjZGVmaW5lIE5FVEFSTV9FTklfMTI4NFBDX1BFCQkoMHgwMDAwMDAwNCkKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfUFNFTEVDVAkoMHgwMDAwMDAwMikKKyNkZWZpbmUgTkVUQVJNX0VOSV8xMjg0UENfRkFVTFQJCSgweDAwMDAwMDAxKQorCisjZW5kaWYgLyogX19ORVRBUk1fRU5JX01PRFVMRV9SRUdJU1RFUlNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXJtNzIwdC9uZXRhcm1fZXRoX21vZHVsZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXJtNzIwdC9uZXRhcm1fZXRoX21vZHVsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMmYzNjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hcm03MjB0L25ldGFybV9ldGhfbW9kdWxlLmgKQEAgLTAsMCArMSwxNjAgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm1ub21tdS9hcmNoLW5ldGFybS9uZXRhcm1fZXRoX21vZHVsZS5oCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAwIE5FVHNpbGljb24sIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwMCBXaXJlU3BlZWQgQ29tbXVuaWNhdGlvbnMgQ29ycG9yYXRpb24KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIGNvcHlyaWdodGVkIGJ5IFdpcmVTcGVlZC4gTElDRU5TRUUgYWdyZWVzIHRoYXQKKyAqIGl0IHdpbGwgbm90IGRlbGV0ZSB0aGlzIGNvcHlyaWdodCBub3RpY2UsIHRyYWRlbWFya3Mgb3IgcHJvdGVjdGl2ZQorICogbm90aWNlcyBmcm9tIGFueSBjb3B5IG1hZGUgYnkgTElDRU5TRUUuCisgKgorICogVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAiQVMtSVMiIGFuZCBhbnkgZXhwcmVzcyBvciBpbXBsaWVkCisgKiB3YXJyYW50aWVzIG9yIGNvbmRpdGlvbnMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYW55CisgKiBpbXBsaWVkIHdhcnJhbnRpZXMgb2YgbWVyY2hhbnRhYmlsaXR5IGFuZCBmaXRuZXNzIGZvciBhIHBhcnRpY3VsYXIKKyAqIHB1cnBvc2UgcmVnYXJkaW5nIHRoaXMgc29mdHdhcmUuIEluIG5vIGV2ZW50IHNoYWxsIFdpcmVTcGVlZAorICogYmUgbGlhYmxlIGZvciBhbnkgaW5kaXJlY3QsIGNvbnNlcXVlbnRpYWwsIG9yIGluY2lkZW50YWwgZGFtYWdlcywKKyAqIGxvc3Mgb2YgcHJvZml0cyBvciByZXZlbnVlLCBsb3NzIG9mIHVzZSBvciBkYXRhLCBvciBpbnRlcnJ1cHRpb24KKyAqIG9mIGJ1c2luZXNzLCB3aGV0aGVyIHRoZSBhbGxlZ2VkIGRhbWFnZXMgYXJlIGxhYmVsZWQgaW4gY29udHJhY3QsCisgKiB0b3J0LCBvciBpbmRlbW5pdHkuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorICoKKyAqIGF1dGhvcihzKSA6IEphY2tpZSBTbWl0aCBDYXNoaW9uCisgKiAgICAgICAgICAgICBEYXZpZCBTbWl0aAorICovCisKKyNpZm5kZWYgX19ORVRBUk1fRVRIX01PRFVMRV9SRUdJU1RFUlNfSAorI2RlZmluZSBfX05FVEFSTV9FVEhfTU9EVUxFX1JFR0lTVEVSU19ICisKKy8qIEVUSCB1bml0IHJlZ2lzdGVyIG9mZnNldHMgKi8KKworI2RlZmluZQlORVRBUk1fRVRIX01PRFVMRV9CQVNFCQkoMHhGRjgwMDAwMCkKKworI2RlZmluZSBnZXRfZXRoX3JlZ19hZGRyKGMpICgodm9sYXRpbGUgdW5zaWduZWQgaW50ICopKE5FVEFSTV9FVEhfTU9EVUxFX0JBU0UgKyAoYykpKQorCisjZGVmaW5lIE5FVEFSTV9FVEhfR0VOX0NUUkwJCSgweDAwMCkgLyogRXRoZXJuZXQgR2VuIENvbnRyb2wgUmVnICovCisjZGVmaW5lIE5FVEFSTV9FVEhfR0VOX1NUQVQJCSgweDAwNCkgLyogRXRoZXJuZXQgR2VuIFN0YXR1cyBSZWcgKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9GSUZPX0RBVDEgICAgICAgICAgICAoMHgwMDgpIC8qIEZpZm8gRGF0YSBSZWcgMSAqLworI2RlZmluZSBORVRBUk1fRVRIX0ZJRk9fREFUMiAgICAgICAgICAgICgweDAwQykgLyogRmlmbyBEYXRhIFJlZyAyICovCisjZGVmaW5lIE5FVEFSTV9FVEhfVFhfU1RBVCAgICAgICAgICAgICAgKDB4MDEwKSAvKiBUcmFuc21pdCBTdGF0dXMgUmVnICovCisjZGVmaW5lIE5FVEFSTV9FVEhfUlhfU1RBVCAgICAgICAgICAgICAgKDB4MDE0KSAvKiBSZWNlaXZlIFN0YXR1cyBSZWcgKi8KKworI2RlZmluZSBORVRBUk1fRVRIX01BQ19DRkcJCSgweDQwMCkgLyogTUFDIENvbmZpZ3VyYXRpb24gUmVnICovCisjZGVmaW5lIE5FVEFSTV9FVEhfUENTX0NGRwkJKDB4NDA4KSAvKiBQQ1MgQ29uZmlndXJhdGlvbiBSZWcgKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9TVExfQ0ZHCQkoMHg0MTApIC8qIFNUTCBDb25maWd1cmF0aW9uIFJlZyAqLworI2RlZmluZSBORVRBUk1fRVRIX0IyQl9JUEdfR0FQX1RNUgkoMHg0NDApIC8qIEJhY2stdG8tYmFjayBJUEcKKwkJCQkJCSAgIEdhcCBUaW1lciBSZWcgKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9OQjJCX0lQR19HQVBfVE1SCSgweDQ0NCkgLyogTm9uIEJhY2stdG8tYmFjaworCQkJCQkJICAgSVBHIEdhcCBUaW1lciBSZWcgKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9NSUlfQ01ECQkoMHg1NDApIC8qIE1JSSAoUEhZKSBDb21tYW5kIFJlZyAqLworI2RlZmluZSBORVRBUk1fRVRIX01JSV9BRERSCQkoMHg1NDQpIC8qIE1JSSBBZGRyZXNzIFJlZyAqLworI2RlZmluZSBORVRBUk1fRVRIX01JSV9XUklURQkJKDB4NTQ4KSAvKiBNSUkgV3JpdGUgRGF0YSBSZWcgKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9NSUlfUkVBRAkJKDB4NTRDKSAvKiBNSUkgUmVhZCBEYXRhIFJlZyAqLworI2RlZmluZSBORVRBUk1fRVRIX01JSV9JTkQJCSgweDU1MCkgLyogTUlJIEluZGljYXRvcnMgUmVnICovCisjZGVmaW5lIE5FVEFSTV9FVEhfTUlCX0NSQ0VDCQkoMHg1ODApIC8qIChNSUIpIENSQyBFcnJvciBDb3VudGVyICovCisjZGVmaW5lIE5FVEFSTV9FVEhfTUlCX0FFQwkJKDB4NTg0KSAvKiBBbGlnbm1lbnQgRXJyb3IgQ291bnRlciAqLworI2RlZmluZSBORVRBUk1fRVRIX01JQl9DRUMJCSgweDU4OCkgLyogQ29kZSBFcnJvciBDb3VudGVyICovCisjZGVmaW5lIE5FVEFSTV9FVEhfTUlCX0xGQwkJKDB4NThDKSAvKiBMb25nIEZyYW1lIENvdW50ZXIgKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9NSUJfU0ZDCQkoMHg1OTApIC8qIFNob3J0IEZyYW1lIENvdW50ZXIgKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9NSUJfTENDCQkoMHg1OTQpIC8qIExhdGUgQ29sbGlzaW9uIENvdW50ZXIgKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9NSUJfRURDCQkoMHg1OTgpIC8qIEV4Y2Vzc2l2ZSBEZWZlcnJhbAorCQkJCQkJICAgQ291bnRlciAqLworI2RlZmluZSBORVRBUk1fRVRIX01JQl9NQ0MJCSgweDU5QykgLyogTWF4aW11bSBDb2xsaXNpb24gQ291bnRlciAqLworI2RlZmluZSBORVRBUk1fRVRIX1NBTF9GSUxURVIJCSgweDVDMCkgLyogU0FMIFN0YXRpb24gQWRkcmVzcworCQkJCQkJICAgRmlsdGVyIFJlZyAqLworI2RlZmluZSBORVRBUk1fRVRIX1NBTF9TVEFUSU9OX0FERFJfMQkoMHg1QzQpIC8qIFNBTCBTdGF0aW9uIEFkZHJlc3MKKwkJCQkJCSAgIFJlZyAqLworI2RlZmluZSBORVRBUk1fRVRIX1NBTF9TVEFUSU9OX0FERFJfMgkoMHg1QzgpCisjZGVmaW5lIE5FVEFSTV9FVEhfU0FMX1NUQVRJT05fQUREUl8zCSgweDVDQykKKyNkZWZpbmUgTkVUQVJNX0VUSF9TQUxfSEFTSF9UQkxfMQkoMHg1RDApIC8qIFNBTCBNdWx0aWNhc3QgSGFzaCBUYWJsZSovCisjZGVmaW5lIE5FVEFSTV9FVEhfU0FMX0hBU0hfVEJMXzIJKDB4NUQ0KQorI2RlZmluZSBORVRBUk1fRVRIX1NBTF9IQVNIX1RCTF8zCSgweDVEOCkKKyNkZWZpbmUgTkVUQVJNX0VUSF9TQUxfSEFTSF9UQkxfNAkoMHg1REMpCisKKy8qIHNlbGVjdCBiaXRmaWVsZCBkZWZpbnRpb25zICovCisKKy8qIEV0aGVybmV0IEdlbmVyYWwgQ29udHJvbCBSZWdpc3RlciAoMHhGRjgwXzAwMDApICovCisKKyNkZWZpbmUgTkVUQVJNX0VUSF9HQ1JfRVJYCQkoMHg4MDAwMDAwMCkgLyogRW5hYmxlIFJlY2VpdmUgRklGTyAqLworI2RlZmluZSBORVRBUk1fRVRIX0dDUl9FUlhETUEJCSgweDQwMDAwMDAwKSAvKiBFbmFibGUgUmVjZWl2ZSBETUEgKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9HQ1JfRVRYCQkoMHgwMDgwMDAwMCkgLyogRW5hYmxlIFRyYW5zbWl0IEZJRk8gKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9HQ1JfRVRYRE1BCQkoMHgwMDQwMDAwMCkgLyogRW5hYmxlIFRyYW5zbWl0IERNQSAqLworI2RlZmluZSBORVRBUk1fRVRIX0dDUl9FVFhXTV81MAkJKDB4MDAxMDAwMDApIC8qIFRyYW5zbWl0IEZJRk8gV2F0ZXIKKwkJCQkJCQlNYXJrLiAgU3RhcnQgdHJhbnNtaXQKKwkJCQkJCQl3aGVuIEZJRk8gaXMgNTAlCisJCQkJCQkJZnVsbC4gKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9HQ1JfUE5BCQkoMHgwMDAwMDQwMCkgLyogcFNPUyBwTkEgQnVmZmVyCisJCQkJCQkJRGVzY3JpcHRvciBGb3JtYXQgKi8KKworLyogRXRoZXJuZXQgR2VuZXJhbCBTdGF0dXMgUmVnaXN0ZXIgKDB4RkY4MF8wMDA0KSAqLworCisjZGVmaW5lIE5FVEFSTV9FVEhfR1NUX1JYRkRCICAgICAgICAgICAgKDB4MzAwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9FVEhfR1NUX1JYUkVHUgkJKDB4MDgwMDAwMDApIC8qIFJlY2VpdmUgUmVnaXN0ZXIKKwkJCQkJCQlSZWFkeSAqLworI2RlZmluZSBORVRBUk1fRVRIX0dTVF9SWEZJRk9ICQkoMHgwNDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0VUSF9HU1RfUlhCUgkJKDB4MDIwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9FVEhfR1NUX1JYU0tJUAkJKDB4MDEwMDAwMDApCisKKyNkZWZpbmUgTkVUQVJNX0VUSF9HU1RfVFhCQyAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKworCisvKiBFdGhlcm5ldCBUcmFuc21pdCBTdGF0dXMgUmVnaXN0ZXIgKDB4RkY4MF8wMDEwKSAqLworCisjZGVmaW5lIE5FVEFSTV9FVEhfVFhTVEFUX1RYT0sgICAgICAgICAgKDB4MDAwMDgwMDApCisKKworLyogRXRoZXJuZXQgUmVjZWl2ZSBTdGF0dXMgUmVnaXN0ZXIgKDB4RkY4MF8wMDE0KSAqLworCisjZGVmaW5lIE5FVEFSTV9FVEhfUlhTVEFUX1NJWkUgICAgICAgICAgKDB4RkZGRjAwMDApCisjZGVmaW5lIE5FVEFSTV9FVEhfUlhTVEFUX1JYT0sgICAgICAgICAgKDB4MDAwMDIwMDApCisKKworLyogUENTIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDB4RkY4MF8wNDA4KSAqLworCisjZGVmaW5lIE5FVEFSTV9FVEhfUENTQ19OT0NGUgkJKDB4MSkgLyogRGlzYWJsZSBDaXBoZXJpbmcgKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9QQ1NDX0VOSkFCCQkoMHgyKSAvKiBFbmFibGUgSmFiYmVyIFByb3RlY3Rpb24gKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9QQ1NDX0NMS1NfMjVNCSgweDApIC8qIDI1IE1IeiBDbG9jayBTcGVlZCBTZWxlY3QgKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9QQ1NDX0NMS1NfMzNNCSgweDQpIC8qIDMzIE1IeiBDbG9jayBTcGVlZCBTZWxlY3QgKi8KKworLyogU1RMIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDB4RkY4MF8wNDEwKSAqLworCisjZGVmaW5lIE5FVEFSTV9FVEhfU1RMQ19SWEVOCQkoMHgyKSAvKiBFbmFibGUgUGFja2V0IFJlY2VpdmVyICovCisjZGVmaW5lIE5FVEFSTV9FVEhfU1RMQ19BVVRPWgkJKDB4NCkgLyogQXV0byBaZXJvIFN0YXRpc3RpY3MgKi8KKworLyogTUFDIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDB4RkY4MF8wNDAwKSAqLworCisjZGVmaW5lIE5FVEFSTV9FVEhfTUFDQ19IVUdFTgkJKDB4MSkgLyogRW5hYmxlIFVubGltaXRlZCBUcmFuc21pdAorCQkJCQkJIEZyYW1lIFNpemVzICovCisjZGVmaW5lIE5FVEFSTV9FVEhfTUFDQ19QQURFTgkJKDB4NCkgLyogQXV0b21hdGljIFBhZCBGaWxsIEZyYW1lcworCQkJCQkJIHRvIDY0IEJ5dGVzICovCisjZGVmaW5lIE5FVEFSTV9FVEhfTUFDQ19DUkNFTgkJKDB4OCkgLyogQXBwZW5kIENSQyB0byBUcmFuc21pdAorCQkJCQkJIEZyYW1lcyAqLworCisvKiBNSUkgKFBIWSkgQ29tbWFuZCBSZWdpc3RlciAoMHhGRjgwXzA1NDApICovCisKKyNkZWZpbmUgTkVUQVJNX0VUSF9NSUlDX1JTVEFUCQkoMHgxKSAvKiBTaW5nbGUgU2NhbiBmb3IgUmVhZCBEYXRhICovCisKKy8qIE1JSSBJbmRpY2F0b3JzIFJlZ2lzdGVyICgweEZGODBfMDU1MCkgKi8KKworI2RlZmluZSBORVRBUk1fRVRIX01JSUlfQlVTWQkJKDB4MSkgLyogTUlJIEkvRiBCdXN5IHdpdGgKKwkJCQkJCSBSZWFkL1dyaXRlICovCisKKy8qIFNBTCBTdGF0aW9uIEFkZHJlc3MgRmlsdGVyIFJlZ2lzdGVyICgweEZGODBfMDVDMCkgKi8KKworI2RlZmluZSBORVRBUk1fRVRIX1NBTEZfUFJPCQkoMHg4KSAvKiBFbmFibGUgUHJvbWlzY3VvdXMgTW9kZSAqLworI2RlZmluZSBORVRBUk1fRVRIX1NBTEZfUFJNCQkoMHg0KSAvKiBBY2NlcHQgQWxsIE11bHRpY2FzdAorCQkJCQkJIFBhY2tldHMgKi8KKyNkZWZpbmUgTkVUQVJNX0VUSF9TQUxGX1BSQQkJKDB4MikgLyogQWNjZXB0IE11bGl0Y2FzdCBQYWNrZXRzCisJCQkJCQkgdXNpbmcgSGFzaCBUYWJsZSAqLworI2RlZmluZSBORVRBUk1fRVRIX1NBTEZfQlJPQUQJCSgweDEpIC8qIEFjY2VwdCBBbGwgQnJvYWRjYXN0CisJCQkJCQkgUGFja2V0cyAqLworCisKKyNlbmRpZiAvKiBfX05FVEFSTV9HRU5fTU9EVUxFX1JFR0lTVEVSU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hcm03MjB0L25ldGFybV9nZW5fbW9kdWxlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hcm03MjB0L25ldGFybV9nZW5fbW9kdWxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFiNWNjMQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWFybTcyMHQvbmV0YXJtX2dlbl9tb2R1bGUuaApAQCAtMCwwICsxLDE3MCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybW5vbW11L2FyY2gtbmV0YXJtL25ldGFybV9nZW5fbW9kdWxlLmgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAsIDIwMDEgTkVUc2lsaWNvbiwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDAwLCAyMDAxIFJlZCBIYXQsIEluYy4KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIGNvcHlyaWdodGVkIGJ5IFJlZCBIYXQuIExJQ0VOU0VFIGFncmVlcyB0aGF0CisgKiBpdCB3aWxsIG5vdCBkZWxldGUgdGhpcyBjb3B5cmlnaHQgbm90aWNlLCB0cmFkZW1hcmtzIG9yIHByb3RlY3RpdmUKKyAqIG5vdGljZXMgZnJvbSBhbnkgY29weSBtYWRlIGJ5IExJQ0VOU0VFLgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgIkFTLUlTIiBhbmQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZAorICogd2FycmFudGllcyBvciBjb25kaXRpb25zLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGFueQorICogaW1wbGllZCB3YXJyYW50aWVzIG9mIG1lcmNoYW50YWJpbGl0eSBhbmQgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyCisgKiBwdXJwb3NlIHJlZ2FyZGluZyB0aGlzIHNvZnR3YXJlLiBJbiBubyBldmVudCBzaGFsbCBSZWQgSGF0CisgKiBiZSBsaWFibGUgZm9yIGFueSBpbmRpcmVjdCwgY29uc2VxdWVudGlhbCwgb3IgaW5jaWRlbnRhbCBkYW1hZ2VzLAorICogbG9zcyBvZiBwcm9maXRzIG9yIHJldmVudWUsIGxvc3Mgb2YgdXNlIG9yIGRhdGEsIG9yIGludGVycnVwdGlvbgorICogb2YgYnVzaW5lc3MsIHdoZXRoZXIgdGhlIGFsbGVnZWQgZGFtYWdlcyBhcmUgbGFiZWxlZCBpbiBjb250cmFjdCwKKyAqIHRvcnQsIG9yIGluZGVtbml0eS4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKgorICogYXV0aG9yKHMpIDogSm9lIGRlQmxhcXVpZXJlCisgKi8KKworI2lmbmRlZiBfX05FVEFSTV9HRU5fTU9EVUxFX1JFR0lTVEVSU19ICisjZGVmaW5lIF9fTkVUQVJNX0dFTl9NT0RVTEVfUkVHSVNURVJTX0gKKworLyogR0VOIHVuaXQgcmVnaXN0ZXIgb2Zmc2V0cyAqLworCisjZGVmaW5lCU5FVEFSTV9HRU5fTU9EVUxFX0JBU0UJCSgweEZGQjAwMDAwKQorCisjZGVmaW5lIGdldF9nZW5fcmVnX2FkZHIoYykgKCh2b2xhdGlsZSB1bnNpZ25lZCBpbnQgKikoTkVUQVJNX0dFTl9NT0RVTEVfQkFTRSArIChjKSkpCisKKyNkZWZpbmUJTkVUQVJNX0dFTl9TWVNURU1fQ09OVFJPTAkoMHgwMCkKKyNkZWZpbmUJTkVUQVJNX0dFTl9TVEFUVVNfQ09OVFJPTAkoMHgwNCkKKyNkZWZpbmUJTkVUQVJNX0dFTl9QTExfQ09OVFJPTAkJKDB4MDgpCisjZGVmaW5lCU5FVEFSTV9HRU5fU09GVFdBUkVfU0VSVklDRQkoMHgwYykKKworI2RlZmluZQlORVRBUk1fR0VOX1RJTUVSMV9DT05UUk9MCSgweDEwKQorI2RlZmluZQlORVRBUk1fR0VOX1RJTUVSMV9TVEFUVVMJKDB4MTQpCisjZGVmaW5lCU5FVEFSTV9HRU5fVElNRVIyX0NPTlRST0wJKDB4MTgpCisjZGVmaW5lCU5FVEFSTV9HRU5fVElNRVIyX1NUQVRVUwkoMHgxYykKKworI2RlZmluZQlORVRBUk1fR0VOX1BPUlRBCQkoMHgyMCkKKyNkZWZpbmUJTkVUQVJNX0dFTl9QT1JUQgkJKDB4MjQpCisjZGVmaW5lCU5FVEFSTV9HRU5fUE9SVEMJCSgweDI4KQorCisjZGVmaW5lCU5FVEFSTV9HRU5fSU5UUl9FTkFCTEUJCSgweDMwKQorI2RlZmluZQlORVRBUk1fR0VOX0lOVFJfRU5BQkxFX1NFVAkoMHgzNCkKKyNkZWZpbmUJTkVUQVJNX0dFTl9JTlRSX0VOQUJMRV9DTFIJKDB4MzgpCisjZGVmaW5lCU5FVEFSTV9HRU5fSU5UUl9TVEFUVVNfRU4JKDB4MzQpCisjZGVmaW5lCU5FVEFSTV9HRU5fSU5UUl9TVEFUVVNfUkFXCSgweDM4KQorCisjZGVmaW5lCU5FVEFSTV9HRU5fQ0FDSEVfQ09OVFJPTDEJKDB4NDApCisjZGVmaW5lCU5FVEFSTV9HRU5fQ0FDSEVfQ09OVFJPTDIJKDB4NDQpCisKKy8qIHNlbGVjdCBiaXRmaWVsZCBkZWZpbml0aW9ucyAqLworCisvKiBTeXN0ZW0gQ29udHJvbCBSZWdpc3RlciAoIDB4RkZCMF8wMDAwICkgKi8KKworI2RlZmluZSBORVRBUk1fR0VOX1NZU19DRkdfTEVORElBTgkoMHg4MDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0dFTl9TWVNfQ0ZHX0JFTkRJQU4JKDB4MDAwMDAwMDApCisKKyNkZWZpbmUgTkVUQVJNX0dFTl9TWVNfQ0ZHX0JVU1FSVFIJKDB4MDAwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9HRU5fU1lTX0NGR19CVVNIQUxGCSgweDIwMDAwMDAwKQorI2RlZmluZSBORVRBUk1fR0VOX1NZU19DRkdfQlVTRlVMTAkoMHg0MDAwMDAwMCkKKworI2RlZmluZSBORVRBUk1fR0VOX1NZU19DRkdfQkNMS19ESVNBQkxFCSgweDEwMDAwMDAwKQorCisjZGVmaW5lIE5FVEFSTV9HRU5fU1lTX0NGR19XRE9HX0VOCSgweDAxMDAwMDAwKQorI2RlZmluZSBORVRBUk1fR0VOX1NZU19DRkdfV0RPR19JUlEJKDB4MDAwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9HRU5fU1lTX0NGR19XRE9HX0ZJUQkoMHgwMDQwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0dFTl9TWVNfQ0ZHX1dET0dfUlNUCSgweDAwODAwMDAwKQorI2RlZmluZSBORVRBUk1fR0VOX1NZU19DRkdfV0RPR18yNAkoMHgwMDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0dFTl9TWVNfQ0ZHX1dET0dfMjYJKDB4MDAxMDAwMDApCisjZGVmaW5lIE5FVEFSTV9HRU5fU1lTX0NGR19XRE9HXzI4CSgweDAwMjAwMDAwKQorI2RlZmluZSBORVRBUk1fR0VOX1NZU19DRkdfV0RPR18yOQkoMHgwMDMwMDAwMCkKKworI2RlZmluZSBORVRBUk1fR0VOX1NZU19DRkdfQlVTTU9OX0VOCSgweDAwMDQwMDAwKQorI2RlZmluZSBORVRBUk1fR0VOX1NZU19DRkdfQlVTTU9OXzEyOAkoMHgwMDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0dFTl9TWVNfQ0ZHX0JVU01PTl82NAkoMHgwMDAxMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0dFTl9TWVNfQ0ZHX0JVU01PTl8zMgkoMHgwMDAyMDAwMCkKKyNkZWZpbmUgTkVUQVJNX0dFTl9TWVNfQ0ZHX0JVU01PTl8xNgkoMHgwMDAzMDAwMCkKKworI2RlZmluZSBORVRBUk1fR0VOX1NZU19DRkdfVVNFUl9FTgkoMHgwMDAwODAwMCkKKyNkZWZpbmUgTkVUQVJNX0dFTl9TWVNfQ0ZHX0JVU0VSX0VOCSgweDAwMDA0MDAwKQorCisjZGVmaW5lIE5FVEFSTV9HRU5fU1lTX0NGR19CVVNBUkJfSU5UCSgweDAwMDAyMDAwKQorI2RlZmluZSBORVRBUk1fR0VOX1NZU19DRkdfQlVTQVJCX0VYVAkoMHgwMDAwMDAwMCkKKworI2RlZmluZSBORVRBUk1fR0VOX1NZU19DRkdfRE1BVFNUCSgweDAwMDAxMDAwKQorCisjZGVmaW5lIE5FVEFSTV9HRU5fU1lTX0NGR19URUFMQVNUCSgweDAwMDAwODAwKQorCisjZGVmaW5lIE5FVEFSTV9HRU5fU1lTX0NGR19BTElHTl9BQk9SVAkoMHgwMDAwMDQwMCkKKworI2RlZmluZSBORVRBUk1fR0VOX1NZU19DRkdfQ0FDSEVfRU4JKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgTkVUQVJNX0dFTl9TWVNfQ0ZHX1dSSV9CVUZfRU4JKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgTkVUQVJNX0dFTl9TWVNfQ0ZHX0NBQ0hFX0lOSVQJKDB4MDAwMDAwODApCisKKy8qIFBMTCBDb250cm9sIFJlZ2lzdGVyICggMHhGRkIwXzAwMDggKSAqLworCisjZGVmaW5lIE5FVEFSTV9HRU5fUExMX0NUTF9QTExDTlRfTUFTSwkoMHgwRjAwMDAwMCkKKworI2RlZmluZSBORVRBUk1fR0VOX1BMTF9DVExfUExMQ05UKHgpCSgoKHgpPDwyNCkgJiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5FVEFSTV9HRU5fUExMX0NUTF9QTExDTlRfTUFTSykKKworLyogRGVmYXVsdHMgZm9yIFBPTFRTVCBhbmQgSUNQIEZpZWxkcyBpbiBQTEwgQ1RMICovCisjZGVmaW5lIE5FVEFSTV9HRU5fUExMX0NUTF9PVVRESVYoeCkgICAgKHgpCisjZGVmaW5lIE5FVEFSTV9HRU5fUExMX0NUTF9JTkRJVih4KSAgICAgKCh4KTw8NikKKyNkZWZpbmUgTkVUQVJNX0dFTl9QTExfQ1RMX1BPTFRTVF9ERUYgICAoMHgwMDAwMEUwMCkKKyNkZWZpbmUgTkVUQVJNX0dFTl9QTExfQ1RMX0lDUF9ERUYgICAgICAoMHgwMDAwMDAzQykKKworCisvKiBTb2Z0d2FyZSBTZXJ2aWNlIFJlZ2lzdGVyICggMHhGRkIwXzAwMEMgKSAqLworCisjZGVmaW5lCU5FVEFSTV9HRU5fU1dfU1ZDX1JFU0VUQQkoMHgxMjMpCisjZGVmaW5lCU5FVEFSTV9HRU5fU1dfU1ZDX1JFU0VUQgkoMHgzMjEpCisKKy8qIFBPUlQgQyBSZWdpc3RlciAoIDB4RkZCMF8wMDI4ICkgKi8KKworI2RlZmluZQlORVRBUk1fR0VOX1BPUlRfTU9ERSh4KQkJKCgoeCk8PDI0KSArICgweEZGMDApKQorI2RlZmluZQlORVRBUk1fR0VOX1BPUlRfRElSKHgpCQkoKCh4KTw8MTYpICsgKDB4RkYwMCkpCisKKy8qIFRpbWVyIFJlZ2lzdGVycyAoIDB4RkZCMF8wMDEwIDB4RkZCMF8wMDE4ICkgKi8KKworI2RlZmluZQlORVRBUk1fR0VOX1RDVExfRU5BQkxFCQkoMHg4MDAwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX0dFTl9UQ1RMX0lOVF9FTkFCTEUJKDB4NDAwMDAwMDApCisKKyNkZWZpbmUJTkVUQVJNX0dFTl9UQ1RMX1VTRV9JUlEJCSgweDAwMDAwMDAwKQorI2RlZmluZQlORVRBUk1fR0VOX1RDVExfVVNFX0ZJUQkJKDB4MjAwMDAwMDApCisKKyNkZWZpbmUJTkVUQVJNX0dFTl9UQ1RMX1VTRV9QUkVTQ0FMRQkoMHgxMDAwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX0dFTl9UQ1RMX0lOSVRfQ09VTlQoeCkJKCh4KSAmIDB4MUZGKQorCisjZGVmaW5lCU5FVEFSTV9HRU5fVFNUQVRfSU5UUEVOCQkoMHg0MDAwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX0dFTl9UU1RBVF9DVENfTUFTSwkoMHgwMDAwMDFGRikKKworLyogcHJlc2NhbGUgdG8gbXNlY3MgY29udmVyc2lvbiAqLworCisjZGVmaW5lCU5FVEFSTV9HRU5fVElNRVJfTVNFQ19QKHgpCSggKCAoIDIwNDgwICkgKiAoIDB4MUZGIC0gKCAoeCkgJgkgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBORVRBUk1fR0VOX1RTVEFUX0NUQ19NQVNLICkgKyAgIFwKKwkJCQkJICAgIDEgKSApIC8gKE5FVEFSTV9YVEFMX0ZSRVEvMTAwMCkgKQorCisjZGVmaW5lCU5FVEFSTV9HRU5fVElNRVJfU0VUX0haKHgpCSggKCAoKE5FVEFSTV9YVEFMX0ZSRVEvKDIwNDgwKih4KSkpLTEpICYgXAorCQkJCQkgIE5FVEFSTV9HRU5fVFNUQVRfQ1RDX01BU0sgKSB8IFwKKwkJCQkJICBORVRBUk1fR0VOX1RDVExfVVNFX1BSRVNDQUxFICkKKworI2lmIDAKKy8qIGlmZGVmIENPTkZJR19ORVRBUk1fUExMX0JZUEFTUyBlbHNlICovCisjZXJyb3IgdGVzdAorI2RlZmluZQlORVRBUk1fR0VOX1RJTUVSX01TRUNfUCh4KQkoICggKCA0MDk2ICkgKiAoIDB4MUZGIC0gKCAoeCkgJiAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5FVEFSTV9HRU5fVFNUQVRfQ1RDX01BU0sgKSArICAgXAorCQkJCQkgICAgMSApICkgLyAoTkVUQVJNX1hUQUxfRlJFUS8xMDAwKSApCisKKyNkZWZpbmUJTkVUQVJNX0dFTl9USU1FUl9TRVRfSFooeCkJKCAoICgoTkVUQVJNX1hUQUxfRlJFUS8oNDA5NiooeCkpKS0xKSAmIFwKKwkJCQkJICBORVRBUk1fR0VOX1RTVEFUX0NUQ19NQVNLICkgfCBcCisJCQkJCSAgTkVUQVJNX0dFTl9UQ1RMX1VTRV9QUkVTQ0FMRSApCisjZW5kaWYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hcm03MjB0L25ldGFybV9tZW1fbW9kdWxlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hcm03MjB0L25ldGFybV9tZW1fbW9kdWxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJjYTlmYgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWFybTcyMHQvbmV0YXJtX21lbV9tb2R1bGUuaApAQCAtMCwwICsxLDE1OCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybW5vbW11L2FyY2gtbmV0YXJtL25ldGFybV9tZW1fbW9kdWxlLmgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAsIDIwMDEgTkVUc2lsaWNvbiwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDAwLCAyMDAxIFJlZCBIYXQsIEluYy4KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIGNvcHlyaWdodGVkIGJ5IFJlZCBIYXQuIExJQ0VOU0VFIGFncmVlcyB0aGF0CisgKiBpdCB3aWxsIG5vdCBkZWxldGUgdGhpcyBjb3B5cmlnaHQgbm90aWNlLCB0cmFkZW1hcmtzIG9yIHByb3RlY3RpdmUKKyAqIG5vdGljZXMgZnJvbSBhbnkgY29weSBtYWRlIGJ5IExJQ0VOU0VFLgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgIkFTLUlTIiBhbmQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZAorICogd2FycmFudGllcyBvciBjb25kaXRpb25zLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGFueQorICogaW1wbGllZCB3YXJyYW50aWVzIG9mIG1lcmNoYW50YWJpbGl0eSBhbmQgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyCisgKiBwdXJwb3NlIHJlZ2FyZGluZyB0aGlzIHNvZnR3YXJlLiBJbiBubyBldmVudCBzaGFsbCBSZWQgSGF0CisgKiBiZSBsaWFibGUgZm9yIGFueSBpbmRpcmVjdCwgY29uc2VxdWVudGlhbCwgb3IgaW5jaWRlbnRhbCBkYW1hZ2VzLAorICogbG9zcyBvZiBwcm9maXRzIG9yIHJldmVudWUsIGxvc3Mgb2YgdXNlIG9yIGRhdGEsIG9yIGludGVycnVwdGlvbgorICogb2YgYnVzaW5lc3MsIHdoZXRoZXIgdGhlIGFsbGVnZWQgZGFtYWdlcyBhcmUgbGFiZWxlZCBpbiBjb250cmFjdCwKKyAqIHRvcnQsIG9yIGluZGVtbml0eS4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKgorICogYXV0aG9yKHMpIDogSm9lIGRlQmxhcXVpZXJlCisgKi8KKworI2lmbmRlZiBfX05FVEFSTV9NRU1fTU9EVUxFX1JFR0lTVEVSU19ICisjZGVmaW5lIF9fTkVUQVJNX01FTV9NT0RVTEVfUkVHSVNURVJTX0gKKworLyogR0VOIHVuaXQgcmVnaXN0ZXIgb2Zmc2V0cyAqLworCisjZGVmaW5lCU5FVEFSTV9NRU1fTU9EVUxFX0JBU0UJCSgweEZGQzAwMDAwKQorCisjZGVmaW5lCU5FVEFSTV9NRU1fTU9EVUxFX0NPTkZJRwkoMHgwMCkKKyNkZWZpbmUJTkVUQVJNX01FTV9DUzBfQkFTRV9BRERSCSgweDEwKQorI2RlZmluZQlORVRBUk1fTUVNX0NTMF9PUFRJT05TCQkoMHgxNCkKKyNkZWZpbmUJTkVUQVJNX01FTV9DUzFfQkFTRV9BRERSCSgweDIwKQorI2RlZmluZQlORVRBUk1fTUVNX0NTMV9PUFRJT05TCQkoMHgyNCkKKyNkZWZpbmUJTkVUQVJNX01FTV9DUzJfQkFTRV9BRERSCSgweDMwKQorI2RlZmluZQlORVRBUk1fTUVNX0NTMl9PUFRJT05TCQkoMHgzNCkKKyNkZWZpbmUJTkVUQVJNX01FTV9DUzNfQkFTRV9BRERSCSgweDQwKQorI2RlZmluZQlORVRBUk1fTUVNX0NTM19PUFRJT05TCQkoMHg0NCkKKyNkZWZpbmUJTkVUQVJNX01FTV9DUzRfQkFTRV9BRERSCSgweDUwKQorI2RlZmluZQlORVRBUk1fTUVNX0NTNF9PUFRJT05TCQkoMHg1NCkKKworLyogc2VsZWN0IGJpdGZpZWxkIGRlZmludGlvbnMgKi8KKworLyogTW9kdWxlIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKCAweEZGQzBfMDAwMCApICovCisKKyNkZWZpbmUgTkVUQVJNX01FTV9DRkdfUkVGUl9DT1VOVF9NQVNLCSgweEZGMDAwMDAwKQorI2RlZmluZSBORVRBUk1fTUVNX0NGR19SRUZSRVNIX0VOCSgweDAwODAwMDAwKQorCisjZGVmaW5lIE5FVEFSTV9NRU1fQ0ZHX1JFRlJfQ1lDTEVfOENMS1MJKDB4MDAwMDAwMDApCisjZGVmaW5lIE5FVEFSTV9NRU1fQ0ZHX1JFRlJfQ1lDTEVfNkNMS1MJKDB4MDAyMDAwMDApCisjZGVmaW5lIE5FVEFSTV9NRU1fQ0ZHX1JFRlJfQ1lDTEVfNUNMS1MJKDB4MDA0MDAwMDApCisjZGVmaW5lIE5FVEFSTV9NRU1fQ0ZHX1JFRlJfQ1lDTEVfNENMS1MJKDB4MDA2MDAwMDApCisKKyNkZWZpbmUgTkVUQVJNX01FTV9DRkdfUE9SVENfQU1VWAkoMHgwMDEwMDAwMCkKKworI2RlZmluZSBORVRBUk1fTUVNX0NGR19BMjdfQUREUgkJKDB4MDAwODAwMDApCisjZGVmaW5lIE5FVEFSTV9NRU1fQ0ZHX0EyN19DUzBPRQkoMHgwMDAwMDAwMCkKKworI2RlZmluZSBORVRBUk1fTUVNX0NGR19BMjZfQUREUgkJKDB4MDAwNDAwMDApCisjZGVmaW5lIE5FVEFSTV9NRU1fQ0ZHX0EyNl9DUzBXRQkoMHgwMDAwMDAwMCkKKworI2RlZmluZSBORVRBUk1fTUVNX0NGR19BMjVfQUREUgkJKDB4MDAwMjAwMDApCisjZGVmaW5lIE5FVEFSTV9NRU1fQ0ZHX0EyNV9CTEFTVAkoMHgwMDAwMDAwMCkKKworI2RlZmluZSBORVRBUk1fTUVNX0NGR19QT1JUQ19BTVVYMgkoMHgwMDAxMDAwMCkKKworCisvKiByYW5nZSBvbiB0aGlzIHBlcmlvZCBpcyBhYm91dCAxIHRvIDI3NSB1c2VjICh3aXRoIDE4LjQzMk1IeiBjbG9jaykgICAqLworLyogdGhlIGV4cHJlc3Npb24gd2lsbCByb3VuZCBkb3duLCBzbyBtYWtlIHN1cmUgdG8gcmV2ZXJzZSBpdCB0byB2ZXJpZnkgKi8KKy8qIGl0IGlzIHdoYXQgeW91IHdhbnQuIHBlcmlvZCA9IFsoIGNvdW50ICsgMSApICogMjBdIC8gRmNyeXN0YWwgICAgICAgICovCisvKiAobm90ZTogRnh0YWwgPSBGY3J5c3RhbC81LCBzZWUgSFdSZWZHdWlkZSBzZWN0aW9ucyA4LjIuNSBhbmQgMTEuMy4yKSAqLworCisjZGVmaW5lCU5FVEFSTV9NRU1fUkVGUl9QRVJJT0RfVVNFQyhwKQkoTkVUQVJNX01FTV9DRkdfUkVGUl9DT1VOVF9NQVNLICYgXAorCQkJCQkgKCgoKChORVRBUk1fWFRBTF9GUkVRLygxMDAwKSkqcCkvKDIwMDAwKSBcCisJCQkJCSAgICApIC0gKDEpICkgPDwgKDI0KSkpCisKKyNpZiAwCisvKiByYW5nZSBvbiB0aGlzIHBlcmlvZCBpcyBhYm91dCAxIHRvIDI3NSB1c2VjICh3aXRoIDE4LjQzMk1IeiBjbG9jaykgKi8KKy8qIHRoZSBleHByZXNzaW9uIHdpbGwgcm91bmQgZG93biwgc28gbWFrZSBzdXJlIHRvIHJldmVyc2UgaXQgdG92ZXJpZnkgKi8KKy8qIGl0IGlzIHdoYXQgeW91IHdhbnQuIHBlcmlvZCA9IFsoIGNvdW50ICsgMSApICogNF0gLyBGeHRhbCAgICAgICAgICAqLworCisjZGVmaW5lCU5FVEFSTV9NRU1fUkVGUl9QRVJJT0RfVVNFQyhwKQkoTkVUQVJNX01FTV9DRkdfUkVGUl9DT1VOVF9NQVNLICYgXAorCQkJCQkgKCgoKChORVRBUk1fWFRBTF9GUkVRLygxMDAwKSkqcCkvKDQwMDApIFwKKwkJCQkJICAgICkgLSAoMSkgKSA8PCAoMjQpKSkKKyNlbmRpZgorCisvKiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXJzICgweEZGQzBfMDBYMCkgKi8KKworI2RlZmluZSBORVRBUk1fTUVNX0JBUl9CQVNFX01BU0sJKDB4RkZGRkYwMDApCisKKy8qIG1hY3JvIHRvIGRlZmluZSBiYXNlICovCisKKyNkZWZpbmUgTkVUQVJNX01FTV9CQVJfQkFTRSh4KQkJKCh4KSAmIE5FVEFSTV9NRU1fQkFSX0JBU0VfTUFTSykKKworI2RlZmluZSBORVRBUk1fTUVNX0JBUl9EUkFNX0ZQCQkoMHgwMDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX01FTV9CQVJfRFJBTV9FRE8JCSgweDAwMDAwMTAwKQorI2RlZmluZSBORVRBUk1fTUVNX0JBUl9EUkFNX1NZTkMJKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgTkVUQVJNX01FTV9CQVJfRFJBTV9NVVhfSU5UCSgweDAwMDAwMDAwKQorI2RlZmluZSBORVRBUk1fTUVNX0JBUl9EUkFNX01VWF9FWFQJKDB4MDAwMDAwODApCisKKyNkZWZpbmUgTkVUQVJNX01FTV9CQVJfRFJBTV9NVVhfQkFMCSgweDAwMDAwMDAwKQorI2RlZmluZSBORVRBUk1fTUVNX0JBUl9EUkFNX01VWF9VTkJBTAkoMHgwMDAwMDAyMCkKKworI2RlZmluZSBORVRBUk1fTUVNX0JBUl8xQkNMS19JRExFCSgweDAwMDAwMDEwKQorCisjZGVmaW5lIE5FVEFSTV9NRU1fQkFSX0RSQU1fU0VMCQkoMHgwMDAwMDAwOCkKKworI2RlZmluZSBORVRBUk1fTUVNX0JBUl9CVVJTVF9FTgkJKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgTkVUQVJNX01FTV9CQVJfV1JUX1BST1QJCSgweDAwMDAwMDAyKQorCisjZGVmaW5lIE5FVEFSTV9NRU1fQkFSX1ZBTElECQkoMHgwMDAwMDAwMSkKKworLyogT3B0aW9uIFJlZ2lzdGVycyAoMHhGRkMwXzAwWDQpICovCisKKy8qIG1hY3JvIHRvIGRlZmluZSB3aGljaCBiaXRzIG9mIHRoZSBiYXNlIGFyZSBzaWduaWZpY2FudCAqLworCisjZGVmaW5lIE5FVEFSTV9NRU1fT1BUX0JBU0VfVVNFKHgpCSgoeCkgJiBORVRBUk1fTUVNX0JBUl9CQVNFX01BU0spCisKKyNkZWZpbmUgTkVUQVJNX01FTV9PUFRfV0FJVF9NQVNLCSgweDAwMDAwRjAwKQorCisjZGVmaW5lCU5FVEFSTV9NRU1fT1BUX1dBSVRfU1RBVEVTKHgpCSgoKHgpIDw8IDggKSAmIE5FVEFSTV9NRU1fT1BUX1dBSVRfTUFTSyApCisKKyNkZWZpbmUgTkVUQVJNX01FTV9PUFRfQkNZQ18xCQkoMHgwMDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX01FTV9PUFRfQkNZQ18yCQkoMHgwMDAwMDA0MCkKKyNkZWZpbmUgTkVUQVJNX01FTV9PUFRfQkNZQ18zCQkoMHgwMDAwMDA4MCkKKyNkZWZpbmUgTkVUQVJNX01FTV9PUFRfQkNZQ180CQkoMHgwMDAwMDBDMCkKKworI2RlZmluZSBORVRBUk1fTUVNX09QVF9CU0laRV8yCQkoMHgwMDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX01FTV9PUFRfQlNJWkVfNAkJKDB4MDAwMDAwMTApCisjZGVmaW5lIE5FVEFSTV9NRU1fT1BUX0JTSVpFXzgJCSgweDAwMDAwMDIwKQorI2RlZmluZSBORVRBUk1fTUVNX09QVF9CU0laRV8xNgkJKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgTkVUQVJNX01FTV9PUFRfMzJCSVQJCSgweDAwMDAwMDAwKQorI2RlZmluZSBORVRBUk1fTUVNX09QVF8xNkJJVAkJKDB4MDAwMDAwMDQpCisjZGVmaW5lIE5FVEFSTV9NRU1fT1BUXzhCSVQJCSgweDAwMDAwMDA4KQorI2RlZmluZSBORVRBUk1fTUVNX09QVF8zMkJJVF9FWFRfQUNLCSgweDAwMDAwMDBDKQorCisjZGVmaW5lIE5FVEFSTV9NRU1fT1BUX0JVU19TSVpFX01BU0sJKDB4MDAwMDAwMEMpCisKKyNkZWZpbmUgTkVUQVJNX01FTV9PUFRfUkVBRF9BU1lOQwkoMHgwMDAwMDAwMCkKKyNkZWZpbmUgTkVUQVJNX01FTV9PUFRfUkVBRF9TWU5DCSgweDAwMDAwMDAyKQorCisjZGVmaW5lIE5FVEFSTV9NRU1fT1BUX1dSSVRFX0FTWU5DCSgweDAwMDAwMDAwKQorI2RlZmluZSBORVRBUk1fTUVNX09QVF9XUklURV9TWU5DCSgweDAwMDAwMDAxKQorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXJtNzIwdC9uZXRhcm1fcmVnaXN0ZXJzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hcm03MjB0L25ldGFybV9yZWdpc3RlcnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzFhMzc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXJtNzIwdC9uZXRhcm1fcmVnaXN0ZXJzLmgKQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIGxpbnV4L2luY2x1ZGUvYXNtLWFybS9hcmNoLW5ldGFybS9uZXRhcm1fcmVnaXN0ZXJzLmgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAsIDIwMDEgTkVUc2lsaWNvbiwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDAwLCAyMDAxIFdpcmVTcGVlZCBDb21tdW5pY2F0aW9ucyBDb3Jwb3JhdGlvbgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgY29weXJpZ2h0ZWQgYnkgV2lyZVNwZWVkLiBMSUNFTlNFRSBhZ3JlZXMgdGhhdAorICogaXQgd2lsbCBub3QgZGVsZXRlIHRoaXMgY29weXJpZ2h0IG5vdGljZSwgdHJhZGVtYXJrcyBvciBwcm90ZWN0aXZlCisgKiBub3RpY2VzIGZyb20gYW55IGNvcHkgbWFkZSBieSBMSUNFTlNFRS4KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICJBUy1JUyIgYW5kIGFueSBleHByZXNzIG9yIGltcGxpZWQKKyAqIHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBhbnkKKyAqIGltcGxpZWQgd2FycmFudGllcyBvZiBtZXJjaGFudGFiaWxpdHkgYW5kIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhcgorICogcHVycG9zZSByZWdhcmRpbmcgdGhpcyBzb2Z0d2FyZS4gSW4gbm8gZXZlbnQgc2hhbGwgV2lyZVNwZWVkCisgKiBiZSBsaWFibGUgZm9yIGFueSBpbmRpcmVjdCwgY29uc2VxdWVudGlhbCwgb3IgaW5jaWRlbnRhbCBkYW1hZ2VzLAorICogbG9zcyBvZiBwcm9maXRzIG9yIHJldmVudWUsIGxvc3Mgb2YgdXNlIG9yIGRhdGEsIG9yIGludGVycnVwdGlvbgorICogb2YgYnVzaW5lc3MsIHdoZXRoZXIgdGhlIGFsbGVnZWQgZGFtYWdlcyBhcmUgbGFiZWxlZCBpbiBjb250cmFjdCwKKyAqIHRvcnQsIG9yIGluZGVtbml0eS4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKgorICogYXV0aG9yKHMpIDogSm9lIGRlQmxhcXVpZXJlCisgKi8KKworI2lmbmRlZiBfX05FVF9BUk1fUkVHSVNURVJTX0gKKyNkZWZpbmUgX19ORVRfQVJNX1JFR0lTVEVSU19ICisKKyNpbmNsdWRlIDxjb25maWcuaD4KKworLyogZnVuZGFtZW50YWwgY29uc3RhbnRzIDogKi8KKy8qIHRoZSBpbnB1dCBjcnlzdGFsL2Nsb2NrIGZyZXF1ZW5jeSAoIGluIEh6ICkgKi8KKyNkZWZpbmUJTkVUQVJNX1hUQUxfRlJFUV8yNU1IegkJKDE4NDMyMDAwKQorI2RlZmluZQlORVRBUk1fWFRBTF9GUkVRXzMzTUh6CQkoMjM2OTgwMDApCisjZGVmaW5lIE5FVEFSTV9YVEFMX0ZSRVFfRU1MSU4xCQkoMjAwMDAwMDApCisKKy8qIHRoZSBmcmVxdWVuY3kgb2YgU1lTX0NMSyAqLworI2lmIGRlZmluZWQoQ09ORklHX05FVEFSTV9FTUxJTikKKworLyogRU1MSU4gYm9hcmQ6ICAzMyBNSHogKGV4cC4pICovCisjZGVmaW5lCU5FVEFSTV9QTExfQ09VTlRfVkFMCQk2CisjZGVmaW5lIE5FVEFSTV9YVEFMX0ZSRVEJCU5FVEFSTV9YVEFMX0ZSRVFfMjVNSHoKKworI2VsaWYgZGVmaW5lZChDT05GSUdfTkVUQVJNX05FVDQwX1JFVjIpCisKKy8qIE5FVCs0MCBSZXYyIGJvYXJkczogIDMzIE1IeiAod2l0aCBORVRBUk1fWFRBTF9GUkVRXzI1TUh6KSAqLworI2RlZmluZQlORVRBUk1fUExMX0NPVU5UX1ZBTAkJNgorI2RlZmluZQlORVRBUk1fWFRBTF9GUkVRCQlORVRBUk1fWFRBTF9GUkVRXzI1TUh6CisKKyNlbGlmIGRlZmluZWQoQ09ORklHX05FVEFSTV9ORVQ0MF9SRVY0KQorCisvKiBORVQrNDAgUmV2NCBib2FyZHMgd2l0aCBFRE8gbXVzdCBjbG9jayBzbG93ZXI6IDI1IE1IeiAod2l0aAorICAgTkVUQVJNX1hUQUxfRlJFUV8yNU1IeikgNCAqLworI2RlZmluZQlORVRBUk1fUExMX0NPVU5UX1ZBTAkJNAorI2RlZmluZQlORVRBUk1fWFRBTF9GUkVRCQlORVRBUk1fWFRBTF9GUkVRXzI1TUh6CisKKyNlbHNlICAvKiBDT05GSUdfTkVUQVJNX05FVDUwICovCisKKy8qIE5FVCs1MCBib2FyZHM6ICA0MCBNSHogKHdpdGggTkVUQVJNX1hUQUxfRlJFUV8yNU1IeikgKi8KKyNkZWZpbmUgTkVUQVJNX1BMTF9DT1VOVF9WQUwJCTgKKyNkZWZpbmUJTkVUQVJNX1hUQUxfRlJFUQkJTkVUQVJNX1hUQUxfRlJFUV8yNU1IegorCisjZW5kaWYKKworLyogI2luY2x1ZGUgImFybV9yZWdpc3RlcnMuaCIgKi8KKyNpbmNsdWRlIDxhc20vYXJjaC9uZXRhcm1fZ2VuX21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL25ldGFybV9tZW1fbW9kdWxlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbmV0YXJtX3Nlcl9tb2R1bGUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9uZXRhcm1fZW5pX21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL25ldGFybV9kbWFfbW9kdWxlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbmV0YXJtX2V0aF9tb2R1bGUuaD4KKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWFybTcyMHQvbmV0YXJtX3Nlcl9tb2R1bGUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWFybTcyMHQvbmV0YXJtX3Nlcl9tb2R1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mY2VhYmQxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXJtNzIwdC9uZXRhcm1fc2VyX21vZHVsZS5oCkBAIC0wLDAgKzEsMzQ3IEBACisvKgorICogbGludXgvaW5jbHVkZS9hc20tYXJtL2FyY2gtbmV0YXJtL25ldGFybV9zZXJfbW9kdWxlLmgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAgTkVUc2lsaWNvbiwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDAwIFJlZCBIYXQsIEluYy4KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIGNvcHlyaWdodGVkIGJ5IFJlZCBIYXQuIExJQ0VOU0VFIGFncmVlcyB0aGF0CisgKiBpdCB3aWxsIG5vdCBkZWxldGUgdGhpcyBjb3B5cmlnaHQgbm90aWNlLCB0cmFkZW1hcmtzIG9yIHByb3RlY3RpdmUKKyAqIG5vdGljZXMgZnJvbSBhbnkgY29weSBtYWRlIGJ5IExJQ0VOU0VFLgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgIkFTLUlTIiBhbmQgYW55IGV4cHJlc3Mgb3IgaW1wbGllZAorICogd2FycmFudGllcyBvciBjb25kaXRpb25zLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGFueQorICogaW1wbGllZCB3YXJyYW50aWVzIG9mIG1lcmNoYW50YWJpbGl0eSBhbmQgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyCisgKiBwdXJwb3NlIHJlZ2FyZGluZyB0aGlzIHNvZnR3YXJlLiBJbiBubyBldmVudCBzaGFsbCBSZWQgSGF0CisgKiBiZSBsaWFibGUgZm9yIGFueSBpbmRpcmVjdCwgY29uc2VxdWVudGlhbCwgb3IgaW5jaWRlbnRhbCBkYW1hZ2VzLAorICogbG9zcyBvZiBwcm9maXRzIG9yIHJldmVudWUsIGxvc3Mgb2YgdXNlIG9yIGRhdGEsIG9yIGludGVycnVwdGlvbgorICogb2YgYnVzaW5lc3MsIHdoZXRoZXIgdGhlIGFsbGVnZWQgZGFtYWdlcyBhcmUgbGFiZWxlZCBpbiBjb250cmFjdCwKKyAqIHRvcnQsIG9yIGluZGVtbml0eS4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKgorICogYXV0aG9yKHMpIDogSm9lIGRlQmxhcXVpZXJlCisgKiAgICAgICAgICAgICBDbGFyayBXaWxsaWFtcworICovCisKKyNpZm5kZWYgX19ORVRBUk1fU0VSX01PRFVMRV9SRUdJU1RFUlNfSAorI2RlZmluZSBfX05FVEFSTV9TRVJfTU9EVUxFX1JFR0lTVEVSU19ICisKKyNpZm5kZWYJX19BU1NFTUJMRVJfXworCisvKiAoLS1zdWIpI2luY2x1ZGUgInR5cGVzLmgiICovCisKKy8qIHNlcmlhbCBjaGFubmVsIGNvbnRyb2wgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdCB7CisgIHUzMgljdHJsX2E7CisgIHUzMgljdHJsX2I7CisgIHUzMglzdGF0dXNfYTsKKyAgdTMyCWJpdHJhdGU7CisgIHUzMglmaWZvOworICB1MzIJcnhfYnVmX3RpbWVyOworICB1MzIJcnhfY2hhcl90aW1lcjsKKyAgdTMyCXJ4X21hdGNoOworICB1MzIJcnhfbWF0Y2hfbWFzazsKKyAgdTMyCWN0cmxfYzsKKyAgdTMyCXN0YXR1c19iOworICB1MzIJc3RhdHVzX2M7CisgIHUzMglmaWZvX2xhc3Q7CisgIHUzMgl1bnVzZWRbM107Cit9IG5ldGFybV9zZXJpYWxfY2hhbm5lbF90OworCisjZW5kaWYKKworLyogU0VSIHVuaXQgcmVnaXN0ZXIgb2Zmc2V0cyAqLworCisvKiAjaWZkZWYgQ09ORklHX0FSQ0hfTkVUQVJNICovCisjZGVmaW5lCU5FVEFSTV9TRVJfTU9EVUxFX0JBU0UJCSgweEZGRDAwMDAwKQorLyogI2Vsc2UgKi8KKy8qIGV4dGVybiBzZXJpYWxfY2hhbm5lbF90IG5ldGFybV9kdW1teV9yZWdpc3RlcnNbXTsgKi8KKy8qICNkZWZpbmUgTkVUQVJNX1NFUl9NT0RVTEVfQkFTRQkJKG5ldGFybV9kdW1teV9yZWdpc3RlcnMpICovCisvKiAjaWZuZGVmIE5FVEFSTV9YVEFMX0ZSRVEgKi8KKy8qICNkZWZpbmUgTkVUQVJNX1hUQUxfRlJFUSAgICAgICAgICAgICAgICAxODQzMjAwMCAqLworLyogI2VuZGlmICovCisvKiAjZW5kaWYgKi8KKworLyogY2FsY3VsYXRlIHRoZSBzeXNjbGsgdmFsdWUgZnJvbSB0aGUgcGxsIHNldHRpbmcgKi8KKyNkZWZpbmUJTkVUQVJNX1BMTEVEX1NZU0NMS19GUkVRCSgoIE5FVEFSTV9YVEFMX0ZSRVEgLyA1ICkgKiBcCisJCQkJCSAoIE5FVEFSTV9QTExfQ09VTlRfVkFMICsgMyApKQorCisjZGVmaW5lIGdldF9zZXJpYWxfY2hhbm5lbChjKSAoJigoKG5ldGFybV9zZXJpYWxfY2hhbm5lbF90ICopTkVUQVJNX1NFUl9NT0RVTEVfQkFTRSlbY10pKQorCisjZGVmaW5lCU5FVEFSTV9TRVJfQ0gxX0NUUkxfQQkJKDB4MDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ0gxX0NUUkxfQgkJKDB4MDQpCisjZGVmaW5lCU5FVEFSTV9TRVJfQ0gxX1NUQVRVU19BCQkoMHgwOCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DSDFfQklUUkFURQkJKDB4MEMpCisjZGVmaW5lCU5FVEFSTV9TRVJfQ0gxX0ZJRk8JCSgweDEwKQorI2RlZmluZQlORVRBUk1fU0VSX0NIMV9SWF9CVUZfVE1SCSgweDE0KQorI2RlZmluZQlORVRBUk1fU0VSX0NIMV9SWF9DSEFSX1RNUgkoMHgxOCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DSDFfUlhfTUFUQ0gJCSgweDFjKQorI2RlZmluZQlORVRBUk1fU0VSX0NIMV9SWF9NQVRDSF9NQVNLCSgweDIwKQorI2RlZmluZQlORVRBUk1fU0VSX0NIMV9DVFJMX0MJCSgweDI0KQorI2RlZmluZQlORVRBUk1fU0VSX0NIMV9TVEFUVVNfQgkJKDB4MjgpCisjZGVmaW5lCU5FVEFSTV9TRVJfQ0gxX1NUQVRVU19DCQkoMHgyYykKKyNkZWZpbmUJTkVUQVJNX1NFUl9DSDFfRklGT19MQVNUCSgweDMwKQorCisjZGVmaW5lCU5FVEFSTV9TRVJfQ0gyX0NUUkxfQQkJKDB4NDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ0gyX0NUUkxfQgkJKDB4NDQpCisjZGVmaW5lCU5FVEFSTV9TRVJfQ0gyX1NUQVRVU19BCQkoMHg0OCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DSDJfQklUUkFURQkJKDB4NEMpCisjZGVmaW5lCU5FVEFSTV9TRVJfQ0gyX0ZJRk8JCSgweDUwKQorI2RlZmluZQlORVRBUk1fU0VSX0NIMl9SWF9CVUZfVE1SCSgweDU0KQorI2RlZmluZQlORVRBUk1fU0VSX0NIMl9SWF9DSEFSX1RNUgkoMHg1OCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DSDJfUlhfTUFUQ0gJCSgweDVjKQorI2RlZmluZQlORVRBUk1fU0VSX0NIMl9SWF9NQVRDSF9NQVNLCSgweDYwKQorI2RlZmluZQlORVRBUk1fU0VSX0NIMl9DVFJMX0MJCSgweDY0KQorI2RlZmluZQlORVRBUk1fU0VSX0NIMl9TVEFUVVNfQgkJKDB4NjgpCisjZGVmaW5lCU5FVEFSTV9TRVJfQ0gyX1NUQVRVU19DCQkoMHg2YykKKyNkZWZpbmUJTkVUQVJNX1NFUl9DSDJfRklGT19MQVNUCSgweDcwKQorCisvKiBzZWxlY3QgYml0ZmllbGQgZGVmaW50aW9ucyAqLworCisvKiBDb250cm9sIFJlZ2lzdGVyIEEgKi8KKworI2RlZmluZQlORVRBUk1fU0VSX0NUTEFfRU5BQkxFCQkoMHg4MDAwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBX0JSSwkJKDB4NDAwMDAwMDApCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBX1NUSUNLUAkJKDB4MjAwMDAwMDApCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBX1BfRVZFTgkJKDB4MTgwMDAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV9QX09ERAkJKDB4MDgwMDAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV9QX05PTkUJCSgweDAwMDAwMDAwKQorCisvKiBpZiB5b3UgcmVhZCB0aGUgZXJyYXRhLCB5b3Ugd2lsbCBmaW5kIHRoYXQgdGhlIFNUT1AgYml0cyBkb24ndCB3b3JrIHJpZ2h0ICovCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV8yU1RPUAkJKDB4MDAwMDAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV8zU1RPUAkJKDB4MDQwMDAwMDApCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBXzVCSVRTCQkoMHgwMDAwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBXzZCSVRTCQkoMHgwMTAwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBXzdCSVRTCQkoMHgwMjAwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBXzhCSVRTCQkoMHgwMzAwMDAwMCkKKworI2RlZmluZQlORVRBUk1fU0VSX0NUTEFfQ1RTVFgJCSgweDAwODAwMDAwKQorI2RlZmluZQlORVRBUk1fU0VSX0NUTEFfUlRTUlgJCSgweDAwNDAwMDAwKQorCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV9MT09QX1JFTQkoMHgwMDIwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBX0xPT1BfTE9DCSgweDAwMTAwMDAwKQorCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV9HUElPMgkJKDB4MDAwODAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV9HUElPMQkJKDB4MDAwNDAwMDApCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBX0RUUl9FTgkJKDB4MDAwMjAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV9SVFNfRU4JCSgweDAwMDEwMDAwKQorCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV9JRV9SWF9CUksJKDB4MDAwMDgwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV9JRV9SWF9GUk1FUlIJKDB4MDAwMDQwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV9JRV9SWF9QQVJFUlIJKDB4MDAwMDIwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV9JRV9SWF9PVkVSUlVOCSgweDAwMDAxMDAwKQorI2RlZmluZQlORVRBUk1fU0VSX0NUTEFfSUVfUlhfUkRZCSgweDAwMDAwODAwKQorI2RlZmluZQlORVRBUk1fU0VSX0NUTEFfSUVfUlhfSEFMRgkoMHgwMDAwMDQwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBX0lFX1JYX0ZVTEwJKDB4MDAwMDAyMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV9JRV9SWF9ETUFFTgkoMHgwMDAwMDEwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBX0lFX1JYX0RDRAkoMHgwMDAwMDA4MCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBX0lFX1JYX1JJCSgweDAwMDAwMDQwKQorI2RlZmluZQlORVRBUk1fU0VSX0NUTEFfSUVfUlhfRFNSCSgweDAwMDAwMDIwKQorCisjZGVmaW5lIE5FVEFSTV9TRVJfQ1RMQV9JRV9SWF9BTEwJKE5FVEFSTV9TRVJfQ1RMQV9JRV9SWF9CUksgXAorCQkJCQl8TkVUQVJNX1NFUl9DVExBX0lFX1JYX0ZSTUVSUiBcCisJCQkJCXxORVRBUk1fU0VSX0NUTEFfSUVfUlhfUEFSRVJSIFwKKwkJCQkJfE5FVEFSTV9TRVJfQ1RMQV9JRV9SWF9PVkVSUlVOIFwKKwkJCQkJfE5FVEFSTV9TRVJfQ1RMQV9JRV9SWF9SRFkgXAorCQkJCQl8TkVUQVJNX1NFUl9DVExBX0lFX1JYX0hBTEYgXAorCQkJCQl8TkVUQVJNX1NFUl9DVExBX0lFX1JYX0ZVTEwgXAorCQkJCQl8TkVUQVJNX1NFUl9DVExBX0lFX1JYX0RNQUVOIFwKKwkJCQkJfE5FVEFSTV9TRVJfQ1RMQV9JRV9SWF9EQ0QgXAorCQkJCQl8TkVUQVJNX1NFUl9DVExBX0lFX1JYX1JJIFwKKwkJCQkJfE5FVEFSTV9TRVJfQ1RMQV9JRV9SWF9EU1IpCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBX0lFX1RYX0NUUwkoMHgwMDAwMDAxMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBX0lFX1RYX0VNUFRZCSgweDAwMDAwMDA4KQorI2RlZmluZQlORVRBUk1fU0VSX0NUTEFfSUVfVFhfSEFMRgkoMHgwMDAwMDAwNCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExBX0lFX1RYX0ZVTEwJKDB4MDAwMDAwMDIpCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQV9JRV9UWF9ETUFFTgkoMHgwMDAwMDAwMSkKKworI2RlZmluZSBORVRBUk1fU0VSX0NUTEFfSUVfVFhfQUxMCShORVRBUk1fU0VSX0NUTEFfSUVfVFhfQ1RTIFwKKwkJCQkJfE5FVEFSTV9TRVJfQ1RMQV9JRV9UWF9FTVBUWSBcCisJCQkJCXxORVRBUk1fU0VSX0NUTEFfSUVfVFhfSEFMRiBcCisJCQkJCXxORVRBUk1fU0VSX0NUTEFfSUVfVFhfRlVMTCBcCisJCQkJCXxORVRBUk1fU0VSX0NUTEFfSUVfVFhfRE1BRU4pCisKKy8qIENvbnRyb2wgUmVnaXN0ZXIgQiAqLworCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQl9NQVRDSDFfRU4JKDB4ODAwMDAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQl9NQVRDSDJfRU4JKDB4NDAwMDAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQl9NQVRDSDNfRU4JKDB4MjAwMDAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQl9NQVRDSDRfRU4JKDB4MTAwMDAwMDApCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExCX1JCR1RfRU4JCSgweDA4MDAwMDAwKQorI2RlZmluZQlORVRBUk1fU0VSX0NUTEJfUkNHVF9FTgkJKDB4MDQwMDAwMDApCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExCX1VBUlRfTU9ERQkoMHgwMDAwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExCX0hETENfTU9ERQkoMHgwMDEwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExCX1NQSV9NQVNfTU9ERQkoMHgwMDIwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9DVExCX1NQSV9TTFZfTU9ERQkoMHgwMDMwMDAwMCkKKworI2RlZmluZQlORVRBUk1fU0VSX0NUTEJfUkVWX0JJVF9PUkRFUgkoMHgwMDA4MDAwMCkKKworI2RlZmluZQlORVRBUk1fU0VSX0NUTEJfTUFNMQkJKDB4MDAwNDAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQ1RMQl9NQU0yCQkoMHgwMDAyMDAwMCkKKworLyogU3RhdHVzIFJlZ2lzdGVyIEEgKi8KKworI2RlZmluZQlORVRBUk1fU0VSX1NUQVRBX01BVENIMQkJKDB4ODAwMDAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfU1RBVEFfTUFUQ0gyCQkoMHg0MDAwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9NQVRDSDMJCSgweDIwMDAwMDAwKQorI2RlZmluZQlORVRBUk1fU0VSX1NUQVRBX01BVENINAkJKDB4MTAwMDAwMDApCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9CR0FQCQkoMHg4MDAwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9DR0FQCQkoMHg0MDAwMDAwMCkKKworI2RlZmluZQlORVRBUk1fU0VSX1NUQVRBX1JYXzFCCQkoMHgwMDEwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9SWF8yQgkJKDB4MDAyMDAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfU1RBVEFfUlhfM0IJCSgweDAwMzAwMDAwKQorI2RlZmluZQlORVRBUk1fU0VSX1NUQVRBX1JYXzRCCQkoMHgwMDAwMDAwMCkKKworLyogZG93bnNoaWZ0ZWQgdmFsdWVzICovCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9SWEZEQl8xQllURVMJKDB4MDAxKQorI2RlZmluZQlORVRBUk1fU0VSX1NUQVRBX1JYRkRCXzJCWVRFUwkoMHgwMDIpCisjZGVmaW5lCU5FVEFSTV9TRVJfU1RBVEFfUlhGREJfM0JZVEVTCSgweDAwMykKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9SWEZEQl80QllURVMJKDB4MDAwKQorCisjZGVmaW5lCU5FVEFSTV9TRVJfU1RBVEFfUlhGREJfTUFTSwkoMHgwMDMwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9SWEZEQih4KQkoKCh4KSAmIE5FVEFSTV9TRVJfU1RBVEFfUlhGREJfTUFTSykgXAorCQkJCQkgPj4gMjApCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9EQ0QJCSgweDAwMDgwMDAwKQorI2RlZmluZQlORVRBUk1fU0VSX1NUQVRBX1JJCQkoMHgwMDA0MDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9EU1IJCSgweDAwMDIwMDAwKQorI2RlZmluZQlORVRBUk1fU0VSX1NUQVRBX0NUUwkJKDB4MDAwMTAwMDApCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9SWF9CUksJCSgweDAwMDA4MDAwKQorI2RlZmluZQlORVRBUk1fU0VSX1NUQVRBX1JYX0ZSTUVSUgkoMHgwMDAwNDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9SWF9QQVJFUlIJKDB4MDAwMDIwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfU1RBVEFfUlhfT1ZFUlJVTgkoMHgwMDAwMTAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9SWF9SRFkJCSgweDAwMDAwODAwKQorI2RlZmluZQlORVRBUk1fU0VSX1NUQVRBX1JYX0hBTEYJKDB4MDAwMDA0MDApCisjZGVmaW5lCU5FVEFSTV9TRVJfU1RBVEFfUlhfQ0xPU0VECSgweDAwMDAwMjAwKQorI2RlZmluZQlORVRBUk1fU0VSX1NUQVRBX1JYX0ZVTEwJKDB4MDAwMDAxMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfU1RBVEFfUlhfRENECQkoMHgwMDAwMDA4MCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9SWF9SSQkJKDB4MDAwMDAwNDApCisjZGVmaW5lCU5FVEFSTV9TRVJfU1RBVEFfUlhfRFNSCQkoMHgwMDAwMDAyMCkKKworI2RlZmluZQlORVRBUk1fU0VSX1NUQVRBX1RYX0NUUwkJKDB4MDAwMDAwMTApCisjZGVmaW5lCU5FVEFSTV9TRVJfU1RBVEFfVFhfUkRZCQkoMHgwMDAwMDAwOCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9TVEFUQV9UWF9IQUxGCSgweDAwMDAwMDA0KQorI2RlZmluZQlORVRBUk1fU0VSX1NUQVRBX1RYX0ZVTEwJKDB4MDAwMDAwMDIpCisjZGVmaW5lCU5FVEFSTV9TRVJfU1RBVEFfVFhfRE1BRU4JKDB4MDAwMDAwMDEpCisKKy8qIHlvdSBoYXZlIHRvIGNsZWFyIGFsbCByZWNlaXZlIHNpZ25hbHMgdG8gZ2V0IHRoZSBmaWZvIHRvIG1vdmUgZm9yd2FyZCAqLworI2RlZmluZSBORVRBUk1fU0VSX1NUQVRBX0NMUl9BTEwJKE5FVEFSTV9TRVJfU1RBVEFfUlhfQlJLIHwgXAorCQkJCQkgTkVUQVJNX1NFUl9TVEFUQV9SWF9GUk1FUlIgfCBcCisJCQkJCSBORVRBUk1fU0VSX1NUQVRBX1JYX1BBUkVSUiB8IFwKKwkJCQkJIE5FVEFSTV9TRVJfU1RBVEFfUlhfT1ZFUlJVTiB8IFwKKwkJCQkJIE5FVEFSTV9TRVJfU1RBVEFfUlhfSEFMRiB8IFwKKwkJCQkJIE5FVEFSTV9TRVJfU1RBVEFfUlhfQ0xPU0VEIHwgXAorCQkJCQkgTkVUQVJNX1NFUl9TVEFUQV9SWF9GVUxMIHwgXAorCQkJCQkgTkVUQVJNX1NFUl9TVEFUQV9SWF9EQ0QgfCBcCisJCQkJCSBORVRBUk1fU0VSX1NUQVRBX1JYX1JJIHwgXAorCQkJCQkgTkVUQVJNX1NFUl9TVEFUQV9SWF9EU1IgfCBcCisJCQkJCSBORVRBUk1fU0VSX1NUQVRBX1RYX0NUUyApCisKKy8qIEJpdCBSYXRlIFJlZ2lzdGVycyAqLworCisjZGVmaW5lCU5FVEFSTV9TRVJfQlJfRU4JCSgweDgwMDAwMDAwKQorI2RlZmluZQlORVRBUk1fU0VSX0JSX1RNT0RFCQkoMHg0MDAwMDAwMCkKKworI2RlZmluZQlORVRBUk1fU0VSX0JSX1JYX0NMS19JTlQJKDB4MDAwMDAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQlJfUlhfQ0xLX0VYVAkoMHgyMDAwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9CUl9UWF9DTEtfSU5UCSgweDAwMDAwMDAwKQorI2RlZmluZQlORVRBUk1fU0VSX0JSX1RYX0NMS19FWFQJKDB4MTAwMDAwMDApCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9CUl9SWF9DTEtfRFJWCSgweDA4MDAwMDAwKQorI2RlZmluZQlORVRBUk1fU0VSX0JSX1RYX0NMS19EUlYJKDB4MDQwMDAwMDApCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9CUl9DTEtfRVhUXzUJCSgweDAwMDAwMDAwKQorI2RlZmluZQlORVRBUk1fU0VSX0JSX0NMS19TWVNURU0JKDB4MDEwMDAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfQlJfQ0xLX09VVDFBCQkoMHgwMjAwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9CUl9DTEtfT1VUMkEJCSgweDAzMDAwMDAwKQorCisjZGVmaW5lCU5FVEFSTV9TRVJfQlJfVFhfQ0xLX0lOVgkoMHgwMDgwMDAwMCkKKyNkZWZpbmUJTkVUQVJNX1NFUl9CUl9SWF9DTEtfSU5WCSgweDAwNDAwMDAwKQorCisvKiBjb21wbGV0ZSBzZXR0aW5ncyBhc3N1bWluZyBzeXN0ZW0gY2xvY2sgaW5wdXQgaXMgMThNSHogKi8KKworI2RlZmluZQlORVRBUk1fU0VSX0JSX01BU0sJCSgweDAwMDAwN0ZGKQorCisvKiBiaXQgcmF0ZSBkZXRlcm1pbmVkIGZyb20gZXF1YXRpb24gRmJyID0gRnh0YWwgLyBbIDEwICogKCBOICsgMSApIF0gKi8KKy8qIGZyb20gc2VjdGlvbiA3LjUuNCBvZiBIVyBSZWYgR3VpZGUgKi8KKworLyogI2lmZGVmIENPTkZJR19ORVRBUk1fUExMX0JZUEFTUyAqLworI2RlZmluZQlORVRBUk1fU0VSX0JSX1gxNih4KQkoIE5FVEFSTV9TRVJfQlJfRU4gfCAJCQlcCisJCQkJICBORVRBUk1fU0VSX0JSX1JYX0NMS19JTlQgfCAJCVwKKwkJCQkgIE5FVEFSTV9TRVJfQlJfVFhfQ0xLX0lOVCB8IAkJXAorCQkJCSAgTkVUQVJNX1NFUl9CUl9DTEtfRVhUXzUgfCAJCVwKKwkJCQkgICggKCAoICggTkVUQVJNX1hUQUxfRlJFUSAvIAkJXAorCQkJCSAgICAgICAgICAoIHggKiAxMCApICkgLSAxICkgLwkxNiApICYgCVwKKwkJCQkgICAgTkVUQVJNX1NFUl9CUl9NQVNLICkgKQorLyoKKyNlbHNlCisjZGVmaW5lCU5FVEFSTV9TRVJfQlJfWDE2KHgpCSggTkVUQVJNX1NFUl9CUl9FTiB8IAkJCVwKKwkJCQkgIE5FVEFSTV9TRVJfQlJfUlhfQ0xLX0lOVCB8IAkJXAorCQkJCSAgTkVUQVJNX1NFUl9CUl9UWF9DTEtfSU5UIHwgCQlcCisJCQkJICBORVRBUk1fU0VSX0JSX0NMS19TWVNURU0gfCAJCVwKKwkJCQkgICggKCAoICggTkVUQVJNX1BMTEVEX1NZU0NMS19GUkVRIC8gCQlcCisJCQkJICAgICAgICAgICggeCAqIDIgKSApIC0gMSApIC8JMTYgKSAmIAlcCisJCQkJICAgIE5FVEFSTV9TRVJfQlJfTUFTSyApICkKKyNlbmRpZgorKi8KKworLyogUmVjZWl2ZSBCdWZmZXIgR2FwIFRpbWVyICovCisKKyNkZWZpbmUJTkVUQVJNX1NFUl9SWF9HQVBfVElNRVJfRU4JKDB4ODAwMDAwMDApCisjZGVmaW5lCU5FVEFSTV9TRVJfUlhfR0FQX01BU0sJCSgweDAwMDAzRkZGKQorCisvKiByeCBnYXAgaXMgYSBmdW5jdGlvbiBvZiBiaXQgcmF0ZSB4ICovCisKKy8qICNpZmRlZiBDT05GSUdfTkVUQVJNX1BMTF9CWVBBU1MgKi8KKyNkZWZpbmUJTkVUQVJNX1NFUl9SWEdBUCh4KQkoIE5FVEFSTV9TRVJfUlhfR0FQX1RJTUVSX0VOIHwJCVwKKwkJCQkgICggKCAoICggMTAgKiBORVRBUk1fWFRBTF9GUkVRICkgLwlcCisJCQkJICAgICAgICAoIHggKiA1ICogNTEyICkgKSAtIDEgKSAmIAlcCisJCQkgICAgICAgICAgICAgIE5FVEFSTV9TRVJfUlhfR0FQX01BU0sgKSApCisvKgorI2Vsc2UKKyNkZWZpbmUJTkVUQVJNX1NFUl9SWEdBUCh4KQkoIE5FVEFSTV9TRVJfUlhfR0FQX1RJTUVSX0VOIHwJCQlcCisJCQkJICAoICggKCAoIDIgKiBORVRBUk1fUExMRURfU1lTQ0xLX0ZSRVEgKSAvCVwKKwkJCQkgICAgICAgICggeCAqIDUxMiApICkgLSAxICkgJiAJCQlcCisJCQkgICAgICAgICAgICAgIE5FVEFSTV9TRVJfUlhfR0FQX01BU0sgKSApCisjZW5kaWYKKyovCisKKyNpZiAwCisjZGVmaW5lCU5FVEFSTV9TRVJfUlhHQVAoeCkJKCBORVRBUk1fU0VSX1JYX0dBUF9USU1FUl9FTiB8CQlcCisJCQkJICAoICggKCAoIDIgKiBORVRBUk1fUExMRURfU1lTQ0xLX0ZSRVEgKSAvCVwKKwkJCQkgICAgICAgICggeCAqIDUgKiA1MTIgKSApIC0gMSApICYgCVwKKwkJCSAgICAgICAgICAgICAgTkVUQVJNX1NFUl9SWF9HQVBfTUFTSyApICkKKyNkZWZpbmUJTkVUQVJNX1NFUl9SWEdBUCh4KQkoIE5FVEFSTV9TRVJfUlhfR0FQX1RJTUVSX0VOIHwJCVwKKwkJCQkgICggKCAoICggMTAgKiBORVRBUk1fWFRBTF9GUkVRICkgLwlcCisJCQkJICAgICAgICAoIHggKiA1MTIgKSApIC0gMSApICYgCVwKKwkJCSAgICAgICAgICAgICAgTkVUQVJNX1NFUl9SWF9HQVBfTUFTSyApICkKKyNlbmRpZgorCisjZGVmaW5lIE1JTl9CQVVEX1JBVEUgICAgICAgIDYwMAorI2RlZmluZSBNQVhfQkFVRF9SQVRFICAgICAxMTUyMDAKKworLyogdGhlIGRlZmF1bHQgQkFVRCByYXRlIGZvciB0aGUgQk9PVExPQURFUiwgdGhlcmUgaXMgYSBzZXBhcmF0ZSAqLworLyogc2V0dGluZyBpbiB0aGUgc2VyaWFsIGRyaXZlciA8YXJjaC9hcm1ub21tdS9kcml2ZXJzL2NoYXIvc2VyaWFsLW5ldGFybS5oPiAqLworI2RlZmluZSBERUZBVUxUX0JBVURfUkFURSA5NjAwCisjZGVmaW5lIE5FVEFSTV9TRVJfRklGT19TSVpFIDMyCisjZGVmaW5lIE1JTl9HQVAgMAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY21kX2NvbmZkZWZzLmggYi9pbmNsdWRlL2NtZF9jb25mZGVmcy5oCmluZGV4IGViZWE1NmIuLmFmNTY1NGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvY21kX2NvbmZkZWZzLmgKKysrIGIvaW5jbHVkZS9jbWRfY29uZmRlZnMuaApAQCAtODUsNiArODUsNyBAQAogI2RlZmluZSBDRkdfQ01EX01NQwkweDAwMDgwMDAwMDAwMDAwMDBVCS8qIE1NQyBzdXBwb3J0CQkJKi8KICNkZWZpbmUgQ0ZHX0NNRF9GQVQJMHgwMDEwMDAwMDAwMDAwMDAwVQkvKiBGQVQgc3VwcG9ydAkJCSovCiAjZGVmaW5lIENGR19DTURfSU1MUwkweDAwMjAwMDAwMDAwMDAwMDBVCS8qIExpc3QgYWxsIGZvdW5kIGltYWdlcyAgICAgICAgKi8KKyNkZWZpbmUgQ0ZHX0NNRF9JVEVTVAkweDAwNDAwMDAwMDAwMDAwMDBVCS8qIEludGVnZXIgKGFuZCBzdHJpbmcpIHRlc3QJKi8KIAogI2RlZmluZSBDRkdfQ01EX0FMTAkweEZGRkZGRkZGRkZGRkZGRkZVCS8qIEFMTCBjb21tYW5kcwkJCSovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29uZmlncy9tb2RuZXQ1MC5oIGIvaW5jbHVkZS9jb25maWdzL21vZG5ldDUwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQxYjQ3YwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvY29uZmlncy9tb2RuZXQ1MC5oCkBAIC0wLDAgKzEsMTc5IEBACisvKgorICogKEMpIENvcHlyaWdodCAyMDA0CisgKiBJTU1TLCBnR21iSCA8d3d3LmltbXMuZGU+CisgKiBUaG9tYXMgRWxzdGUgPGluZm9AZWxzdGUub3JnPgorICoKKyAqIENvbmZpZ3VhdGlvbiBzZXR0aW5ncyBmb3IgTW9kTkVUNTAgYm9hcmQuCisgKgorICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKKyAqIHByb2plY3QuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCisgKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKKyAqIE1BIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2lmbmRlZiBfX0NPTkZJR19ICisjZGVmaW5lIF9fQ09ORklHX0gKKworLyoKKyAqIElmIHdlIGFyZSBkZXZlbG9waW5nLCB3ZSBtaWdodCB3YW50IHRvIHN0YXJ0IHUtYm9vdCBmcm9tIHJhbQorICogc28gd2UgTVVTVCBOT1QgaW5pdGlhbGl6ZSBjcml0aWNhbCByZWdzIGxpa2UgbWVtLXRpbWluZyAuLi4KKyAqLworI2RlZmluZSBDT05GSUdfSU5JVF9DUklUSUNBTCAgICAgICAgICAgIC8qIHVuZGVmIGZvciBkZXZlbG9waW5nICovCisKKy8qCisgKiBIaWdoIExldmVsIENvbmZpZ3VyYXRpb24gT3B0aW9ucworICogKGVhc3kgdG8gY2hhbmdlKQorICovCisjZGVmaW5lIENPTkZJR19BUk03CQkxCS8qIFRoaXMgaXMgYSBBUk03IENQVQkqLworI2RlZmluZSBDT05GSUdfQVJNX1RIVU1CCTEJLyogdGhpcyBpcyBhbiBBUk03MjBURE1JICovCisjZGVmaW5lIENPTkZJR19ORVRBUk0gICAgICAgICAgICAgICAgICAgLyogaXQncyBhIE5ldHNpY2xpY29uIE5FVCtBUk0gKi8KKyN1bmRlZiAgQ09ORklHX05FVEFSTV9ORVQ0MF9SRVYyICAgICAgICAvKiBpdCdzIGEgTmV0KzQwIFJldi4gMiAqLworI3VuZGVmICBDT05GSUdfTkVUQVJNX05FVDQwX1JFVjQJLyogaXQncyBhIE5ldCs0MCBSZXYuIDQgKi8KKyNkZWZpbmUgQ09ORklHX05FVEFSTV9ORVQ1MCAgICAgICAgICAgICAvKiBpdCdzIGEgTmV0KzUwICovCisKKyNkZWZpbmUgQ09ORklHX01PRE5FVDUwCQkxCS8qIG9uIGFuIE1vZE5FVDUwIEJvYXJkICAgICAgKi8KKworI3VuZGVmIENPTkZJR19VU0VfSVJRCQkJLyogZG9uJ3QgbmVlZCB0aGVtIGFueW1vcmUgKi8KKworLyoKKyAqIFNpemUgb2YgbWFsbG9jKCkgcG9vbAorICovCisjZGVmaW5lIENGR19NQUxMT0NfTEVOCQkoQ0ZHX0VOVl9TSVpFICsgMTI4KjEwMjQpCisjZGVmaW5lIENGR19HQkxfREFUQV9TSVpFCTEyOAorCisvKgorICogSGFyZHdhcmUgZHJpdmVycworICovCisjZGVmaW5lIENPTkZJR19EUklWRVJfTkVUQVJNRVRIIDEKKworLyoKKyAqIHNlbGVjdCBzZXJpYWwgY29uc29sZSBjb25maWd1cmF0aW9uCisgKi8KKyNkZWZpbmUgQ09ORklHX1NFUklBTDEJCTEJLyogd2UgdXNlIFNlcmlhbCBsaW5lIDEgKi8KKworLyogYWxsb3cgdG8gb3ZlcndyaXRlIHNlcmlhbCBhbmQgZXRoYWRkciAqLworI2RlZmluZSBDT05GSUdfRU5WX09WRVJXUklURQorCisjZGVmaW5lIENPTkZJR19CQVVEUkFURQkJMzg0MDAKKworI2RlZmluZSBDT05GSUdfQk9PVFBfTUFTSyAgICAgICAoQ09ORklHX0JPT1RQX0RFRkFVTFR8Q09ORklHX0JPT1RQX0JPT1RGSUxFU0laRSkKKworI2RlZmluZSBDT05GSUdfQ09NTUFORFMJCSgoQ09ORklHX0NNRF9ERkwgfCBDRkdfQ01EX0pGRlMyKSkKKworLyogdGhpcyBtdXN0IGJlIGluY2x1ZGVkIEFGVEVSIHRoZSBkZWZpbml0aW9uIG9mIENPTkZJR19DT01NQU5EUyAoaWYgYW55KSAqLworI2luY2x1ZGUgPGNtZF9jb25mZGVmcy5oPgorCisjZGVmaW5lIENPTkZJR19ORVRNQVNLICAgICAgICAgIDI1NS4yNTUuMjU1LjAKKyNkZWZpbmUgQ09ORklHX0lQQUREUgkJMTkyLjE2OC4zMC4yCisjZGVmaW5lIENPTkZJR19TRVJWRVJJUCAgICAgICAgIDE5Mi4xNjguMzAuMTIyCisjZGVmaW5lIENGR19FVEhfUEhZX0FERFIgICAgICAgIDB4MTAwCisjZGVmaW5lIENPTkZJR19DTURMSU5FX1RBRyAgICAgIC8qIHN1Ym1pdCBib290YXJncyB0byBrZXJuZWwgKi8KKworLyojZGVmaW5lIENPTkZJR19CT09UREVMQVkJMTAqLworLyogYXJncyBhbmQgY21kIGZvciB1Q2xpbnV4LWltYWdlIEAgMHgxMDAyMDAwMCwgcmFtZGlzay1pbWFnZSBAIDB4MTAwYTAwMDAgKi8KKyNkZWZpbmUgQ09ORklHX0JPT1RDT01NQU5ECSJib290bSAweDEwMDIwMDAwIDB4MTAwYTAwMDAiCisjZGVmaW5lIENPTkZJR19CT09UQVJHUyAgICAJImNvbnNvbGU9dHR5UzAsMzg0MDAgaW5pdHJkPTB4MTAwYTAwNDAsNTMwSyByb290PS9kZXYvcmFtIGtlZXBpbml0cmQiCisKKyNpZiAoQ09ORklHX0NPTU1BTkRTICYgQ0ZHX0NNRF9LR0RCKQorI2RlZmluZSBDT05GSUdfS0dEQl9CQVVEUkFURQkyMzA0MDAJCS8qIHNwZWVkIHRvIHJ1biBrZ2RiIHNlcmlhbCBwb3J0ICovCisjZGVmaW5lIENPTkZJR19LR0RCX1NFUl9JTkRFWAkyCQkvKiB3aGljaCBzZXJpYWwgcG9ydCB0byB1c2UgKi8KKyNlbmRpZgorCisvKgorICogTWlzY2VsbGFuZW91cyBjb25maWd1cmFibGUgb3B0aW9ucworICovCisjZGVmaW5lCUNGR19MT05HSEVMUAkJCQkvKiB1bmRlZiB0byBzYXZlIG1lbW9yeQkqLworI2RlZmluZQlDRkdfUFJPTVBUCQkibW9kbmV0NTAgIyAiCS8qIE1vbml0b3IgQ29tbWFuZCBQcm9tcHQgKi8KKyNkZWZpbmUJQ0ZHX0NCU0laRQkJMjU2CQkvKiBDb25zb2xlIEkvTyBCdWZmZXIgU2l6ZSAqLworI2RlZmluZQlDRkdfUEJTSVpFICAgICAgICAgICAgICAoQ0ZHX0NCU0laRStzaXplb2YoQ0ZHX1BST01QVCkrMTYpIC8qIFByaW50IEJ1ZmZlciBTaXplICovCisjZGVmaW5lCUNGR19NQVhBUkdTCQkxNgkJLyogbWF4IG51bWJlciBvZiBjb21tYW5kIGFyZ3MgKi8KKyNkZWZpbmUgQ0ZHX0JBUkdTSVpFCQlDRkdfQ0JTSVpFCS8qIEJvb3QgQXJndW1lbnQgQnVmZmVyIFNpemUgKi8KKworI2RlZmluZSBDRkdfTUVNVEVTVF9TVEFSVAkweDAwNDAwMDAwCS8qIG1lbXRlc3Qgd29ya3Mgb24JKi8KKyNkZWZpbmUgQ0ZHX01FTVRFU1RfRU5ECQkweDAwODAwMDAwCS8qIDQgLi4uIDggTUIgaW4gRFJBTQkqLworCisjdW5kZWYgIENGR19DTEtTX0lOX0haCQkvKiBldmVyeXRoaW5nLCBpbmNsIGJvYXJkIGluZm8sIGluIEh6ICovCisKKyNkZWZpbmUJQ0ZHX0xPQURfQUREUgkJMHgwMDUwMDAwMAkvKiBkZWZhdWx0IGxvYWQgYWRkcmVzcwkqLworCisjZGVmaW5lCUNGR19IWgkJCTkwMAkJLyogZGVjcmVtZW50ZXIgZnJlcTogMiBrSHogKi8KKworCQkJCQkJLyogdmFsaWQgYmF1ZHJhdGVzICovCisjZGVmaW5lIENGR19CQVVEUkFURV9UQUJMRQl7IDk2MDAsIDE5MjAwLCAzODQwMCwgNTc2MDAsIDExNTIwMCB9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFN0YWNrIHNpemVzCisgKgorICogVGhlIHN0YWNrIHNpemVzIGFyZSBzZXQgdXAgaW4gc3RhcnQuUyB1c2luZyB0aGUgc2V0dGluZ3MgYmVsb3cKKyovCisjZGVmaW5lIENPTkZJR19TVEFDS1NJWkUJKDEyOCoxMDI0KQkvKiByZWd1bGFyIHN0YWNrICovCisjaWZkZWYgQ09ORklHX1VTRV9JUlEKKyNkZWZpbmUgQ09ORklHX1NUQUNLU0laRV9JUlEJKDQqMTAyNCkJLyogSVJRIHN0YWNrICovCisjZGVmaW5lIENPTkZJR19TVEFDS1NJWkVfRklRCSg0KjEwMjQpCS8qIEZJUSBzdGFjayAqLworI2VuZGlmCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFBoeXNpY2FsIE1lbW9yeSBNYXAKKyAqLworI2RlZmluZSBDT05GSUdfTlJfRFJBTV9CQU5LUwkxCSAgIC8qIHdlIGhhdmUgMSBiYW5rcyBvZiBEUkFNICovCisjZGVmaW5lIFBIWVNfU0RSQU1fMQkJMHgwMDAwMDAwMCAvKiBTRFJBTSBCYW5rICMxICovCisjZGVmaW5lIFBIWVNfU0RSQU1fMV9TSVpFCTB4MDEwMDAwMDAgLyogMTYgTUIgKi8KKyNkZWZpbmUgUEhZU19TRFJBTV8yCQkweDAxMDAwMDAwIC8qIFNEUkFNIEJhbmsgIzEgKi8KKyNkZWZpbmUgUEhZU19TRFJBTV8yX1NJWkUJMHgwMTAwMDAwMCAvKiAxNiBNQiAqLworCisjZGVmaW5lIFBIWVNfRkxBU0hfMQkJMHgxMDAwMDAwMCAvKiBGbGFzaCBCYW5rICMxICovCisjZGVmaW5lIFBIWVNfRkxBU0hfMV9TSVpFCTB4MDAyMDAwMDAgLyogMiBNQiAob25lIGNoaXAgb25seSwgMTZiaXQgYWNjZXNzKSAqLworCisjZGVmaW5lIFBIWVNfRkxBU0hfMiAgICAgICAgICAgIDB4MTAyMDAwMDEKKyNkZWZpbmUgUEhZU19GTEFTSF8yX1NJWkUgICAgICAgMHgwMDIwMDAwMAorCisjZGVmaW5lIENPTkZJR19ORVRBUk1fRUVQUk9NCisvKiAjaWZkZWYgQ09ORklHX05FVEFSTV9FRVBST00gKi8KKyNkZWZpbmUgUEhZU19OVlJBTV8xCQkweDIwMDAwMDAwIC8qIEVFUFJPTSBCYW5rICMxICovCisjZGVmaW5lIFBIWVNfTlZSQU1fU0laRQkJMHgwMDAwMjAwMCAvKiA4IEtCICovCisvKiAjZW5kaWYgKi8KKworI2RlZmluZSBQSFlTX0VYVF8xCQkweDMwMDAwMDAwIC8qIEV4dGVuc2lvbnMgQmFuayAjMSAqLworI2RlZmluZSBQSFlTX0VYVF9TSVpFCQkweDAxMDAwMDAwIC8qIDMyIE1CIG1lbW9yeSBtYXBwZWQgSS9PICovCisKKyNkZWZpbmUgQ0ZHX0ZMQVNIX0JBU0UJCVBIWVNfRkxBU0hfMQorI2RlZmluZSBDRkdfRkxBU0hfU0laRQkJUEhZU19GTEFTSF8xX1NJWkUKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogRkxBU0ggYW5kIGVudmlyb25tZW50IG9yZ2FuaXphdGlvbgorICovCisjZGVmaW5lIENGR19NQVhfRkxBU0hfQkFOS1MJMQkvKiBtYXggbnVtYmVyIG9mIG1lbW9yeSBiYW5rcyAqLworI2RlZmluZSBDRkdfTUFYX0ZMQVNIX1NFQ1QJMzUJLyogbWF4IG51bWJlciBvZiBzZWN0b3JzIG9uIG9uZSBjaGlwICovCisjZGVmaW5lIENGR19NQUlOX1NFQ1RfU0laRSAgICAgIDB4MDAwMTAwMDAgIC8qIG1haW4gc2l6ZSBvZiBzZWN0b3JzIG9uIG9uZSBjaGlwICovCisKKy8qIHRpbWVvdXQgdmFsdWVzIGFyZSBpbiB0aWNrcyAqLworI2RlZmluZSBDRkdfRkxBU0hfRVJBU0VfVE9VVAkoMipDRkdfSFopIC8qIFRpbWVvdXQgZm9yIEZsYXNoIEVyYXNlICovCisjZGVmaW5lIENGR19GTEFTSF9XUklURV9UT1VUCSgyKkNGR19IWikgLyogVGltZW91dCBmb3IgRmxhc2ggV3JpdGUgKi8KKworLyogZW52aXJvbm1lbnQgc2V0dGluZ3MgKi8KKyNkZWZpbmUJQ0ZHX0VOVl9JU19JTl9GTEFTSAorI3VuZGVmIENGR19FTlZfSVNfTk9XSEVSRQorCisjZGVmaW5lIENGR19FTlZfQUREUgkJMHgxMDAxQzAwMCAvKiBlbnZpcm9ubWVudCBzdGFydCBhZGRyZXNzICovCisjZGVmaW5lIENGR19FTlZfU0VDVF9TSVpFICAgICAgIDB4MTAwMDAgLyogVG90YWwgU2l6ZSBvZiBFbnZpcm9ubWVudCBTZWN0b3IgKi8KKyNkZWZpbmUgQ0ZHX0VOVl9TSVpFCQkweDQwMDAJLyogbWF4IHNpemUgZm9yIGVudmlyb25tZW50ICovCisKKy8qIEZsYXNoIGJhbmtzIEpGRlMyIHNob3VsZCB1c2UgKi8KKyNkZWZpbmUgQ0ZHX0pGRlMyX0ZJUlNUX0JBTksgICAgMAorI2RlZmluZSBDRkdfSkZGUzJfRklSU1RfU0VDVE9SCTgKKyNkZWZpbmUgQ0ZHX0pGRlMyX05VTV9CQU5LUyAgICAgMgorCisjZW5kaWYJLyogX19DT05GSUdfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9mYXQuaCBiL2luY2x1ZGUvZmF0LmgKaW5kZXggOGZmZmI0Mi4uMTM5MTBmOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9mYXQuaAorKysgYi9pbmNsdWRlL2ZhdC5oCkBAIC02Nyw2ICs2NywxMCBAQAogI2RlZmluZSBERUxFVEVEX0ZMQUcJKChjaGFyKTB4ZTUpIC8qIE1hcmtzIGRlbGV0ZWQgZmlsZXMgd2hlbiBpbiBuYW1lWzBdICovCiAjZGVmaW5lIGFSSU5HCQkweDA1CSAgICAgLyogVXNlZCB0byByZXByZXNlbnQgJ+UnIGluIG5hbWVbMF0gKi8KIAorLyogSW5kaWNhdGVzIHRoYXQgdGhlIGVudHJ5IGlzIHRoZSBsYXN0IGxvbmcgZW50cnkgaW4gYSBzZXQgb2YgbG9uZworICogZGlyIGVudHJpZXMKKyAqLworI2RlZmluZSBMQVNUX0xPTkdfRU5UUllfTUFTSwkweDQwCiAKIC8qIEZsYWdzIHRlbGxpbmcgd2hldGhlciB3ZSBzaG91bGQgcmVhZCBhIGZpbGUgb3IgbGlzdCBhIGRpcmVjdG9yeSAqLwogI2RlZmluZSBMU19OTwkwCg==